code: protected void queueFrame(final S channel) throws IOException {
          assert !newFrames.contains(channel);
          if (isWritesBroken() || !this.channel.getSinkChannel().isOpen() || channel.isBroken() || !channel.isOpen()) {
              IoUtils.safeClose(channel);
              throw UndertowMessages.MESSAGES.channelIsClosed();
          }
          newFrames.add(channel);
  
          if (!requireExplicitFlush || channel.isBufferFull()) {
              flush();
          }
      }
docs: Queues a new frame to be sent, and attempts a flush if this is the first frame in the new frame queue.
  <p>
  Depending on the {@link FramePriority} implementation in use the channel may or may not be added to the actual
  pending queue
  
  @param channel The channel