code: private synchronized int getGroupChar(String name, int choice)
      {
          for (int i = 0; i < m_groupcount_; i ++) {
              // populating the data set of grouptable
  
              int startgpstrindex = getGroupLengths(i, m_groupoffsets_,
                                                    m_grouplengths_);
  
              // shift out to function
              int result = getGroupChar(startgpstrindex, m_grouplengths_, name,
                                        choice);
              if (result != -1) {
                  return (m_groupinfo_[i * m_groupsize_] << GROUP_SHIFT_)
                           | result;
              }
          }
          return -1;
      }
docs: Getting the character with the tokenized argument name
  @param name of the character
  @return character with the tokenized argument name or -1 if character
  is not found