starts the background initialization . with this method the initializer becomes active and invokes the #initialize method in abackground task . a backgroundinitializer can be started exactlyonce . the return value of this method determines whether the start was successful : only the first invocation of this method returns true , following invocations will return false . 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 T get 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
boolean function ( ) { if ( ! isStarted ( ) ) { ExecutorService loc0 ; executor = getExternalExecutor ( ) ; if ( executor == null ) { executor = loc0 = createExecutor ( ) ; } else { loc0 = null ; } future = executor . submit ( createTask ( loc0 ) ) ; return true ; } return false ; }