public static <T> void addSuccessCallback(ListenableFuture<T> future, Runnable successCallback)
    {
        addSuccessCallback(future, successCallback, directExecutor());
    }
public static <T> void addSuccessCallback(ListenableFuture<T> future, Runnable successCallback)
    {
        addSuccessCallback(future, successCallback, directExecutor());
    }
public static < T > void addSuccessCallback ( ListenableFuture < T > future , Runnable successCallback ) { addSuccessCallback ( future , successCallback , directExecutor ( ) ) ; }
Invokes the callback if the future completes successfully. Note, this uses the direct
executor, so the callback should not be resource intensive.
Invokes the callback if the future completes successfully . Note this uses the direct executor so the callback should not be resource intensive .