@Override
 public void fireInboundBufferUpdated() {
   if (!firedChannelActive) {
     fireInboundBufferUpdatedOnActivation = true;
     return;
   }
   head.fireInboundBufferUpdated();
 }
  @Override
  public void fireChannelActive() {
    firedChannelActive = true;
    head.fireChannelActive();

    if (channel.config().isAutoRead()) {
      channel.read();
    }

    if (fireInboundBufferUpdatedOnActivation) {
      fireInboundBufferUpdatedOnActivation = false;
      head.fireInboundBufferUpdated();
    }
  }