If this task does not have a completer, invokes {@link
ForkJoinTask#quietlyComplete} and returns {@code null}. Or, if
the completer's pending count is non-zero, decrements that
pending count and returns {@code null}. Otherwise, returns the
completer. This method can be used as part of a completion
traversal loop for homogeneous task hierarchies:
<pre> {@code
for (ICountedCompleter c = firstComplete();
c !is null;
c = c.nextComplete()) {
// ... process c ...
}}</pre>
If this task does not have a completer, invokes {@link ForkJoinTask#quietlyComplete} and returns {@code null}. Or, if the completer's pending count is non-zero, decrements that pending count and returns {@code null}. Otherwise, returns the completer. This method can be used as part of a completion traversal loop for homogeneous task hierarchies:
<pre> {@code for (ICountedCompleter c = firstComplete(); c !is null; c = c.nextComplete()) { // ... process c ... }}</pre>
@return the completer, or {@code null} if none