final void orpush ( CompletableFuture < ? > b , BiCompletion < ? , ? , ? > c ) { if ( c != null ) { while ( ( b == null || b . result == null ) && result == null ) { if ( tryPushStack ( c ) ) { if ( b != null && b != this && b . result == null ) { Completion q = new CoCompletion ( c ) ; while ( result == null && b . result == null && ! b . tryPushStack ( q ) ) lazySetNext ( q , null ) ; // clear on failure } break ; } lazySetNext ( c , null ) ; // clear on failure } } }
Pushes completion to this and b unless either done .