@Override
 public ChannelFuture flush() {
   return tail.flush();
 }
 @Override
 public ChannelFuture flush(ChannelPromise promise) {
   return tail.flush(promise);
 }