code: @Override
    public void close() throws IOException {
      if (!channelIsOpen) {
        logger.atFine().log("Ignoring close: channel for '%s' is not open.", resourceIdString);
        return;
      }
      logger.atFine().log("Closing channel for '%s'", resourceIdString);
      channelIsOpen = false;
      closeContentChannel();
    }
docs: Closes this channel.
  
  @throws IOException on IO error