docs: @Override
  	public void decode() {
  		Object message;
  		int size = readBuffer.remaining();
  		while (readBuffer.hasRemaining()) {
  			try {
  				message = decoder.decode(readBuffer, this);
  				if (message == null) {
  					break;
  				} else {
  					if (statistics.isStatistics()) {
  						statistics
  								.statisticsRead(size - readBuffer.remaining());
  						size = readBuffer.remaining();
  					}
  				}
  				dispatchReceivedMessage(message);
  			} catch (Exception e) {
  				onException(e);
  				log.error("Decode error", e);
  				super.close();
  				break;
  			}
  		}
  	}