public void completeClosing(long timeout,TimeUnit unit) throws ExecutionException, InterruptedException, TimeoutException {
  if (unit == null)   throw new NullPointerException();
  if (getCurrentState() != State.CLOSED && !awaitComplete(unit.toMillis(timeout))) {
    throw new TimeoutException();
  }
}

public void completeClosing ( long timeout , TimeUnit unit ) throws ExecutionException , InterruptedException , TimeoutException { if ( unit == null ) throw new NullPointerException ( ) ; if ( getCurrentState ( ) != State . CLOSED && ! awaitComplete ( unit . toMillis ( timeout ) ) ) { throw new TimeoutException ( ) ; } }
complete job closing . this method can be invoked after a job close has been initiated .
