code: @Override
      public Channel join(String channelName) {
          if (!connected) {
              throw new NotConnectedException();
          }
  
          ChannelImpl channel = new ChannelImpl(this, channelName);
  
          /* Attempt to join */
          if (channel.join()) {
              return channel;
          }
  
          /* Error while joining */
          return null;
      }
docs: Join the given channel. Create a new channel object for this connection,
  join the channel and return the IRCChannel object.
  
  @param channelName The channel to join
  @return the new IRCChannel object or null if the channel could not be
  joined