void assertTokenize(String input, LinguisticsParameters parameters,
                        List<String> indexed, List<String> orig) {
        int i = 0;
        int j = 0;
        for (Token token : tokenizer.tokenize(input, parameters)) {
            // System.err.println("got token orig '"+token.getOrig()+"'");
            // System.err.println("got token stem '"+token.getTokenString(stemMode)+"'");
            if (token.getNumComponents() > 0) {
                for (int comp = 0; comp < token.getNumComponents(); comp++) {
                    Token t = token.getComponent(comp);
                    if (t.getType().isIndexable()) {
                        assertEquals("comp index: " + i, indexed.get(i++),
                                     parameters.lowercase() ? toLowerCase(t.getTokenString()) : t.getTokenString());
                    }
                }
            } else {
                if (token.getType().isIndexable()) {
                    assertEquals("exp index: " + i, indexed.get(i++),
                                 parameters.lowercase() ? toLowerCase(token.getTokenString()) : token.getTokenString());
                }
            }
            if (orig != null) {
                assertEquals("orig index: " + j, orig.get(j++), token.getOrig());
            }
        }
        assertEquals("indexed length", indexed.size(), i);
        if (orig != null) {
            assertEquals("orig length", orig.size(), j);
        }
    }
Compare the results of running an input string through the tokenizer with an "index" truth, and an optional
"orig" truth.

@param input      the text to process, passed to tokenizer
@param indexed    compared to the "TokenString" result from the tokenizer
@param orig       compared to the "Orig" result from the tokenizer
opennlp-linguistics/src/test/java/com/yahoo/language/opennlp/OpenNlpLinguisticsTester.java