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