code: public final void propagateCompletion() {
      CountedCompleter<?> a = this, s;
      for (int c;;) {
        if ((c = a.pending) == 0) {
          if ((a = (s = a).completer) == null) {
            s.quietlyComplete();
            return;
          }
        } else if (U.compareAndSwapInt(a, PENDING, c, c - 1))
          return;
      }
    }
docs: Equivalent to {@link #tryComplete} but does not invoke {@link #onCompletion(CountedCompleter)}
  along the completion path: If the pending count is nonzero, decrements the count; otherwise,
  similarly tries to complete this task's completer, if one exists, else marks this task as
  complete. This method may be useful in cases where {@code onCompletion} should not, or need
  not, be invoked for each completer in a computation.