docs: protected int findSeparator ()
    {
      int first;
      int match = 0;
      final int maxpos = m_nTail - m_nBoundaryLength;
      for (first = m_nHead; (first <= maxpos) && (match != m_nBoundaryLength); first++)
      {
        first = findByte (m_aBoundary[0], first);
        if (first == -1 || (first > maxpos))
          return -1;
  
        for (match = 1; match < m_nBoundaryLength; match++)
          if (m_aBuffer[first + match] != m_aBoundary[match])
            break;
      }
      if (match == m_nBoundaryLength)
        return first - 1;
      return -1;
    }