code: public int charAt(int index) {
          if (index >= 0) {
              // len2 is the largest even integer <= len, that is, it is len
              // for even values and len-1 for odd values.  With odd values
              // the last entry is UNICODESET_HIGH.
              int len2 = len & ~1;
              for (int i=0; i < len2;) {
                  int start = list[i++];
                  int count = list[i++] - start;
                  if (index < count) {
                      return start + index;
                  }
                  index -= count;
              }
          }
          return -1;
      }
docs: Returns the character at the given index within this set, where
  the set is ordered by ascending code point.  If the index is
  out of range, return -1.  The inverse of this method is
  <code>indexOf()</code>.
  @param index an index from 0..size()-1
  @return the character at the given index, or -1.