code: static void fireChannelRead(ChannelHandlerContext ctx, List<Object> msgs, int numElements) {
          if (msgs instanceof CodecOutputList) {
              fireChannelRead(ctx, (CodecOutputList) msgs, numElements);
          } else {
              for (int i = 0; i < numElements; i++) {
                  ctx.fireChannelRead(msgs.get(i));
              }
          }
      }
docs: Get {@code numElements} out of the {@link List} and forward these through the pipeline.