docs: @Override
      public void close() throws IOException {
          if(UndertowLogger.REQUEST_IO_LOGGER.isTraceEnabled()) {
              UndertowLogger.REQUEST_IO_LOGGER.tracef(new ClosedChannelException(), "Channel %s is being closed", this);
          }
          safeClose(channel);
          if(readData != null) {
              readData.close();
              readData = null;
          }
          closeSubChannels();
      }