public int compare(Integer i, Integer j) {
            List<String> tokens = mTokenization.tokenList();
            for (int m = i, n = j, k = 0; k < mMaxSuffixLength; ++m, ++n, ++k) {
                if (m == tokens.size() || tokens.get(m).equals(mDocumentBoundaryToken)) {
                    if (n == tokens.size() || tokens.get(n).equals(mDocumentBoundaryToken))
                        return 0;
                    return -1;
                }
                if (n == tokens.size() || tokens.get(n).equals(mDocumentBoundaryToken))
                    return 1;
                int c = tokens.get(m).compareTo(tokens.get(n));
                if (c != 0)
                    return c;
            }
            return 0;
        }