code: public <T> AsyncFutureCallback<T> callbackWithTimeout(Class<T> cls, final Callback<T> callback,
                                                            final long timeoutDuration,
                                                            final TimeUnit timeUnit) {
  
  
          return callbackWithTimeout(callback, timeoutDuration, timeUnit);
      }
docs: Create a callback
  
  @param cls             cls
  @param callback        callback
  @param timeoutDuration timeout duration
  @param timeUnit        timeUnit for timeout
  @param <T>             T
  @return callback