anchor.diff:            trace.record(new UserCallbackAsyncExitEvent());
             asyncCount--;
             if (asyncCount == 0) {
  +            inOnDone = true;
               onDone();
             }
           }
  
positive.code:     } finally {
        asyncCount--;
        if (asyncCount == 0) {
          onDone();
        }
      }
  
negative.code:     if (response.authority == Authority.PRIMARY) {
        sink.close();
      }
    }
  
    void handleError(error, EventSink<Response> sink, Trace trace) {
      sink.addError(error);
      sink.close();
    }
  }
  
  