returns the result of the background initialization . this method blocks until initialization is complete . if the background processing caused a runtime exception , it is directly thrown by this method . checked exceptions , including interruptedexception are wrapped in a concurrentexception . calling this method before #start was called causes an illegalstateexception exception to bethrown . concode_field_sep ExecutorService externalExecutor concode_elem_sep ExecutorService executor concode_elem_sep Future<T> future concode_elem_sep ExecutorService execFinally concode_field_sep T call concode_elem_sep Future<T> getFuture concode_elem_sep ExecutorService getExternalExecutor concode_elem_sep boolean start concode_elem_sep boolean isStarted concode_elem_sep T initialize concode_elem_sep ExecutorService getActiveExecutor concode_elem_sep ExecutorService createExecutor concode_elem_sep int getTaskCount concode_elem_sep Callable<T> createTask concode_elem_sep void setExternalExecutor
T function ( ) { try { return getFuture ( ) . get ( ) ; } catch ( final ExecutionException loc0 ) { ConcurrentUtils . handleCause ( loc0 ) ; return null ; } catch ( final InterruptedException loc0 ) { Thread . currentThread ( ) . interrupt ( ) ; throw new ConcurrentException ( loc0 ) ; } }