code: public synchronized String getGroupName(int ch, int choice)
      {
          // gets the msb
          int msb   = getCodepointMSB(ch);
          int group = getGroup(ch);
  
          // return this if it is an exact match
          if (msb == m_groupinfo_[group * m_groupsize_]) {
              int index = getGroupLengths(group, m_groupoffsets_,
                                          m_grouplengths_);
              int offset = ch & GROUP_MASK_;
              return getGroupName(index + m_groupoffsets_[offset],
                                  m_grouplengths_[offset], choice);
          }
  
          return null;
      }
docs: Gets the group name of the character
  @param ch character to get the group name
  @param choice name choice selector to choose a unicode 1.0 or newer name