public int compareTo(XMLString xstr){
  int len1=m_length;
  int len2=xstr.length();
  int n=Math.min(len1,len2);
  FastStringBuffer fsb=fsb();
  int i=m_start;
  int j=0;
  while (n-- != 0) {
    char c1=fsb.charAt(i);
    char c2=xstr.charAt(j);
    if (c1 != c2) {
      return c1 - c2;
    }
    i++;
    j++;
  }
  return len1 - len2;
}

public int compareTo ( XMLString xstr ) { int len1 = m_length ; int len2 = xstr . length ( ) ; int n = Math . min ( len1 , len2 ) ; FastStringBuffer fsb = fsb ( ) ; int i = m_start ; int j = 0 ; while ( n -- != 0 ) { char c1 = fsb . charAt ( i ) ; char c2 = xstr . charAt ( j ) ; if ( c1 != c2 ) { return c1 - c2 ; } i ++ ; j ++ ; } return len1 - len2 ; }
compares two strings lexicographically .
