docs: public Channel deSerializeChannel(byte[] channelBytes)
              throws IOException, ClassNotFoundException, InvalidArgumentException {
  
          Channel channel;
          ObjectInputStream in = null;
          try {
              in = new ObjectInputStream(new ByteArrayInputStream(channelBytes));
              channel = (Channel) in.readObject();
              final String name = channel.getName();
              synchronized (channels) {
                  if (null != getChannel(name)) {
                      channel.shutdown(true);
                      throw new InvalidArgumentException(format("Channel %s already exists in the client", name));
                  }
                  channels.put(name, channel);
                  channel.client = this;
              }
  
          } finally {
              try {
                  if (in != null) {
                      in.close();
                  }
              } catch (IOException e) {
                  // Best effort here.
                  logger.error(e);
              }
          }
  
          return channel;
  
      }