code: private static boolean loadDataMultipart(ByteBuf undecodedChunk, String delimiter, HttpData httpData) {
          if (!undecodedChunk.hasArray()) {
              return loadDataMultipartStandard(undecodedChunk, delimiter, httpData);
          }
          final SeekAheadOptimize sao = new SeekAheadOptimize(undecodedChunk);
          final int startReaderIndex = undecodedChunk.readerIndex();
          final int delimeterLength = delimiter.length();
          int index = 0;
          int lastRealPos = sao.pos;
          byte prevByte = HttpConstants.LF;
          boolean delimiterFound = false;
          while (sao.pos < sao.limit) {
              final byte nextByte = sao.bytes[sao.pos++];
              // Check the delimiter
              if (prevByte == HttpConstants.LF && nextByte == delimiter.codePointAt(index)) {
                  index++;
                  if (delimeterLength == index) {
                      delimiterFound = true;
                      break;
                  }
                  continue;
              }
              lastRealPos = sao.pos;
              if (nextByte == HttpConstants.LF) {
                  index = 0;
                  lastRealPos -= (prevByte == HttpConstants.CR)? 2 : 1;
              }
              prevByte = nextByte;
          }
          if (prevByte == HttpConstants.CR) {
              lastRealPos--;
          }
          final int lastPosition = sao.getReadPosition(lastRealPos);
          final ByteBuf content = undecodedChunk.copy(startReaderIndex, lastPosition - startReaderIndex);
          try {
              httpData.addContent(content, delimiterFound);
          } catch (IOException e) {
              throw new ErrorDataDecoderException(e);
          }
          undecodedChunk.readerIndex(lastPosition);
          return delimiterFound;
      }
docs: Load the field value from a Multipart request
  
  @return {@code true} if the last chunk is loaded (boundary delimiter found), {@code false} if need more chunks
  @throws ErrorDataDecoderException