MetricsTrackingOngoingRequest extends ForwardingOngoingRequest implements TrackedOngoingRequest { @Override public void reply(Response<ByteString> message) { metrics.fanout(requestCounter.get()); metrics.response(message); super.reply(message); } MetricsTrackingOngoingRequest(
      RequestMetrics metrics,
      OngoingRequest ongoingRequest); @Override void reply(Response<ByteString> message); @Override void drop(); @Override void incrementDownstreamRequests();  }
@Test public void shouldAccountForResponses() throws Exception { request.reply(response); verify(requestStats).response(response); }
@Test public void shouldForwardRepliesToDelegate() throws Exception { request.reply(response); verify(delegate).reply(response); }