anchor.diff:    Future setupDataRequesting() {
       // request initial data; this is also called when restarting subscription
       logger.info("Setting up data requesting for ${this}");
  +    /// remember initialSync, that was active in thsi moment. Later, when we get
  +    /// initial data, we check, if this completer is already completed - if so,
  +    /// it means, the subscription was restarted sooner than initialSync-ed
  +    var oldInitialSync =_initialSync;
       return _connection.send(_createDataRequest).then((response) {
  -      if (_initialSync.isCompleted) {
  +      if (oldInitialSync.isCompleted) {
           return;
         }
         if (response['error'] != null) {
  
positive.code:     });
      setupConnectionRecovery();
      setupListeners();
      setupDataRequesting().then((_) => _started = true);
    }
  
  
  
negative.code:   }
  
    void _start() {
      _started = true;
      logger.info("${this} starting");
      _errorStreamController.stream.listen((error){
        if(!error.toString().contains("__TEST__")) {
  