anchor.diff:      StreamSubscription timeoutSubscription;
       StreamSubscription socketSubscription;
       StreamSubscription outputSubscription;
  +    var isSocketDone = false;
   
       timeoutController =
           StreamController(onCancel: () => socketSubscription.cancel());
  
positive.code:         timeoutSubscription.resume();
          timeoutController.addError(e, st);
        }, onDone: () {
          timeoutSubscription.resume();
          timeoutController.close();
        });
  
negative.code:           .transform(tesp.decoderAddingEvent)
            .cast<R>()
            .listen((R event) {
          if (!(event is TespEventMessageExpected)) {
            pauseTimer();
          }
          if (isAsync) {
            if (event is TespEventMessageExpected ||
                event is TespEventMessageArrived) {
              if (_messageCompleter == null) {
                _messageCompleter = Completer();
                tespMessageStreamController.add(_messageCompleter.future);
              } else {
                assert(event is TespEventMessageArrived);
                // The completer is already assigned in a previous TespEventMessageExpected event
              }
            } else if (_messageCompleter != null) {
  