docs: @Nullable
    private String _getToken (final boolean bQuoted)
    {
      // Trim leading white spaces
      while (m_nIndex1 < m_nIndex2 && Character.isWhitespace (m_aChars[m_nIndex1]))
      {
        m_nIndex1++;
      }
      // Trim trailing white spaces
      while (m_nIndex2 > m_nIndex1 && Character.isWhitespace (m_aChars[m_nIndex2 - 1]))
      {
        m_nIndex2--;
      }
      // Strip away quotation marks if necessary
      if (bQuoted)
      {
        if ((m_nIndex2 - m_nIndex1) >= 2 && m_aChars[m_nIndex1] == '"' && m_aChars[m_nIndex2 - 1] == '"')
        {
          m_nIndex1++;
          m_nIndex2--;
        }
      }
      String ret = null;
      if (m_nIndex2 > m_nIndex1)
      {
        ret = new String (m_aChars, m_nIndex1, m_nIndex2 - m_nIndex1);
      }
      return ret;
    }