docs: private void pollUpstream() {
      if (!awaitingInner) {
        return;
      }
  
      boolean localDone = this.done;
  
      // Try to move the new item into the reframer
      InnerT newUpstreamItem = newItem.getAndSet(null);
      if (newUpstreamItem != null) {
        reframer.push(newUpstreamItem);
        // and reset the awaiting flag, if the item arrived or upstream closed
        awaitingInner = false;
      } else if (localDone) {
        awaitingInner = false;
      }
    }