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


        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