public T join(){
  try {
    long spin=1;
    while (!done) {
      LockSupport.parkNanos(spin++);
    }
    if (completedExceptionally)     throw new SimpleReactCompletionException(exception());
    return result();
  }
  finally {
    markComplete();
  }
}

public T join ( ) { try { long spin = 1 ; while ( ! done ) { LockSupport . parkNanos ( spin ++ ) ; } if ( completedExceptionally ) throw new SimpleReactCompletionException ( exception ( ) ) ; return result ( ) ; } finally { markComplete ( ) ; } }
join which can be called exactly once !
