code: @GuardedBy("lock")
    private PendingStream createPendingStream(PickSubchannelArgs args) {
      PendingStream pendingStream = new PendingStream(args);
      pendingStreams.add(pendingStream);
      if (getPendingStreamsCount() == 1) {
        syncContext.executeLater(reportTransportInUse);
      }
      return pendingStream;
    }
docs: Caller must call {@code syncContext.drain()} outside of lock because this method may
  schedule tasks on syncContext.