@Override
 public Trace removeTraceObject() {
   final Trace trace = delegate.removeTraceObject();
   //        TODO;
   //        long time = trace.getSpanRecorder().getResponseTime();
   //        metricRegistry.addResponseTime(time);
   return trace;
 }
 @Override
 public Trace newTraceObject(TraceType traceType) {
   return delegate.newTraceObject(traceType);
 }
 @Override
 public Trace newTraceObject() {
   return delegate.newTraceObject();
 }
 @Override
 public Trace continueAsyncTraceObject(AsyncTraceId traceId, int asyncId, long startTime) {
   return delegate.continueAsyncTraceObject(traceId, asyncId, startTime);
 }
 @Override
 public Trace continueTraceObject(Trace trace) {
   return delegate.continueTraceObject(trace);
 }
 @Override
 public Trace disableSampling() {
   return delegate.disableSampling();
 }
 @Override
 public Trace currentRawTraceObject() {
   return delegate.currentRawTraceObject();
 }