final void orpush ( CompletableFuture < ? > b , BiCompletion < ? , ? , ? > c ) { if ( c != null ) { while ( ! tryPushStack ( c ) ) { if ( result != null ) { lazySetNext ( c , null ) ; break ; } } if ( result != null ) c . tryFire ( SYNC ) ; else b . unipush ( new CoCompletion ( c ) ) ; } }
Pushes completion to this and b unless either done . Caller should first check that result and b . result are both null .