members[current] = range; current++;
values[outIndex++] = values[save];
  private static int[][] normalize(Vector vecMembers)  {    // XXX: Perhaps we should merge ranges that overlap.        int current = 0;    int[][] members = new int[vecMembers.size()][];    while (vecMembers.size() > 0)      {        // Search the lowest range.        int[] range = (int[]) vecMembers.elementAt(0);        for (int index = 1; index < vecMembers.size(); index++)          {            int[] tmp = (int[]) vecMembers.elementAt(index);            if (range[0] > tmp[0]                || (range[0] == tmp[0]                    && range[0] > tmp[0]))              range = tmp;          }        members[current] = range;        current++;      }        return members;  }