code: public void forEachFlushedMessage(MessageProcessor processor) throws Exception {
          if (processor == null) {
              throw new NullPointerException("processor");
          }
  
          Entry entry = flushedEntry;
          if (entry == null) {
              return;
          }
  
          do {
              if (!entry.cancelled) {
                  if (!processor.processMessage(entry.msg)) {
                      return;
                  }
              }
              entry = entry.next;
          } while (isFlushedEntry(entry));
      }
docs: Call {@link MessageProcessor#processMessage(Object)} for each flushed message
  in this {@link ChannelOutboundBuffer} until {@link MessageProcessor#processMessage(Object)}
  returns {@code false} or there are no more flushed messages to process.