flink-instrumentation/workspace/flink-1.4.1-instrumented/flink-1.4.1/flink-runtime/src/main/java/org/apache/flink/runtime/concurrent/FutureUtils.java
/** The function that is attached to all futures in the conjunction. Once a future
		 * is complete, this function tracks the completion or fails the conjunct.
		 */
The function that is attached to all futures in the conjunction. Once a future
is complete, this function tracks the completion or fails the conjunct.
The function that is attached to all futures in the conjunction . Once a future is complete this function tracks the completion or fails the conjunct .
final void handleCompletedFuture(T value, Throwable throwable) {
			if (throwable != null) {
				completeExceptionally(throwable);
			} else {
				int index = nextIndex.getAndIncrement();
				results[index] = value;
				if (numCompleted.incrementAndGet() == numTotal) {
					complete(Arrays.asList(results));
				}
			}
		}
final void handleCompletedFuture ( T value , Throwable throwable ) { if ( throwable != null ) { completeExceptionally ( throwable ) ; } else { int index = nextIndex . getAndIncrement ( ) ; results [ index ] = value ; if ( numCompleted . incrementAndGet ( ) == numTotal ) { complete ( Arrays . asList ( results ) ) ; } } }
The function that is attached to all futures in the conjunction.
The function that is attached to all futures in the conjunction .