waits if necessary for at most the given time for the command handling to complete , and then retrieves its result , if available . unlike #get long , java.util.concurrent.timeunit , this method will throw the original exception . only checked exceptions are wrapped in a commandexecutionexception . if the timeout expired or the thread is interrupted before completion , null is returned . in case of an interrupt , the interrupt flag will have been set back on the thread . to distinguish between an interrupt and a null result , use the #isdone concode_field_sep R result concode_elem_sep CountDownLatch latch concode_elem_sep Throwable failure concode_field_sep boolean cancel concode_elem_sep boolean isCancelled concode_elem_sep R get concode_elem_sep R get concode_elem_sep void onFailure concode_elem_sep R getFutureResult concode_elem_sep R doGetResult concode_elem_sep boolean awaitCompletion concode_elem_sep boolean isDone concode_elem_sep void onSuccess
R function ( long arg0 , TimeUnit arg1 ) { if ( ! awaitCompletion ( arg0 , arg1 ) ) { return null ; } return doGetResult ( ) ; }