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);
    }
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);
    }
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 ) ; }
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
Create a callback