code: public int indexOf(int c) {
          if (c < MIN_VALUE || c > MAX_VALUE) {
              throw new IllegalArgumentException("Invalid code point U+" + Utility.hex(c, 6));
          }
          int i = 0;
          int n = 0;
          for (;;) {
              int start = list[i++];
              if (c < start) {
                  return -1;
              }
              int limit = list[i++];
              if (c < limit) {
                  return n + c - start;
              }
              n += limit - start;
          }
      }
docs: Returns the index of the given character within this set, where
  the set is ordered by ascending code point.  If the character
  is not in this set, return -1.  The inverse of this method is
  <code>charAt()</code>.
  @return an index from 0..size()-1, or -1