@override void cancel([Object? reason]) { if (!_cancelToken.isCancelled) { _cancelToken.cancel(reason); } }