@Override
    public <V> ScheduledFuture<V> schedule(Callable<V> callable, long delay, TimeUnit unit) {
        callable = wrapper.wrap(callable);
        return delegate.schedule(callable, delay, unit);
    }
Inheritance is not recommended.
No inheritance makes the trace more intuitive.
e.g) class TraceExecutorService extends TraceExecutor {}
agent-module/agent-sdk/src/main/java/com/navercorp/pinpoint/sdk/v1/concurrent/TraceScheduledExecutorService.java