public <T> AsyncFutureCallback<T> callbackWithTimeout(Class<T> cls, final Callback<T> callback,
                                                          final long timeoutDuration,
                                                          final TimeUnit timeUnit) {


        return callbackWithTimeout(callback, timeoutDuration, timeUnit);
    }
public <T> AsyncFutureCallback<T> callbackWithTimeout(Class<T> cls, final Callback<T> callback,
                                                          final long timeoutDuration,
                                                          final TimeUnit timeUnit) {


        return callbackWithTimeout(callback, timeoutDuration, timeUnit);
    }
public < T > AsyncFutureCallback < T > callbackWithTimeout ( Class < T > cls , final Callback < T > callback , final long timeoutDuration , final TimeUnit timeUnit ) { return callbackWithTimeout ( callback , timeoutDuration , timeUnit ) ; }
Create a callback

@param cls             cls
@param callback        callback
@param timeoutDuration timeout duration
@param timeUnit        timeUnit for timeout
@param <T>             T
@return callback
Create a callback