anchor.diff:      delegate.handle(request).transform(transformerFactory(request, trace));
   }
   
  -_runZonedWithOnDone(fn, onDone) {
  +_runZonedWithOnDone(fn, onDone, trace) {
     // Initial count is 1 due to running 'fn'. This makes it work out
     // nicely if 'fn' itself throws an Exception.
     var asyncCount = 1;
  
positive.code:         trace.record(new RequestOverEvent());
          _sentDone = true;
        }
      });
    }
  
    void handleDone(EventSink<Response> sink, Trace trace) {
  
negative.code:   const UserCallbackDoneEvent._private();
  
    String toString() => 'streamy.userCallback.done';
  }
  
  class UserCallbackAsyncEnterEvent implements TraceEvent {
    factory UserCallbackAsyncEnterEvent() => const UserCallbackAsyncEnterEvent._private();
  
    const UserCallbackAsyncEnterEvent._private();
  
    String toString() => 'streamy.userCallback.async.start';
  }
  
  class UserCallbackAsyncExitEvent implements TraceEvent {
    factory UserCallbackAsyncExitEvent() => const UserCallbackAsyncExitEvent._private();
  
    const UserCallbackAsyncExitEvent._private();
  
    String toString() => 'streamy.userCallback.async.done';
  }
  
  /// Fired when the response [Stream] has terminated.
  