code: private void parse(String text, int start, int valueStart, int valueStop, int dictStart, int dictStop)
     {
        m_field = text.substring(start, valueStart);
        if (valueStop - valueStart <= 1)
        {
           m_value = null;
        }
        else
        {
           m_value = text.substring(valueStart + 1, valueStop);
        }
        if (dictStop - dictStart > 1)
        {
           for (int s = getNextOpeningParenthesisPosition(text, dictStart); s >= 0 && s < dictStop;)
           {
              int e = getClosingParenthesisPosition(text, s);
              m_records.add(new Record(text, s, e));
              s = getNextOpeningParenthesisPosition(text, e);
           }
        }
     }
docs: Parse a block of text into records.
  
  @param text text to be parsed
  @param start start index
  @param valueStart value start index
  @param valueStop value end index
  @param dictStart dictionary start index
  @param dictStop dictionary end index