@Test
	public void test4()
	{
		Trie<Character, String> trie = new Trie<Character, String>();
		List<Character> elements = new ArrayList<Character>();
		String[] lines ={ 
				"microsome",
			    "cytochrome",
			    "cytochrome P450 activity", 
			    "gibberellic acid biosynthesis", 
			    "GA3", 
			    "cytochrome P450", 
			    "oxygen binding", 
			    "AT5G25900.1", 
			    "protein", 
			    "RNA", 
			    "gibberellin", 
			    "Arabidopsis", 
			    "ent-kaurene oxidase activity", 
			    "inflorescence", 
			    "tissue"} ;
		for (String line : lines) {
			for (char c : line.toCharArray()) {
				elements.add(c);
			}
			trie.add(elements, line);
			elements.clear();
		}

		//trie.print();
		
		ACPatternsMatcher<Character, String> matcher = new ACPatternsMatcher<Character, String>(
				trie);
		String line="The ga3 mutant of Arabidopsis is a gibberellin-responsive dwarf. We present data showing that the ga3-1 mutant is deficient in ent-kaurene oxidase activity, the first cytochrome P450-mediated step in the gibberellin biosynthetic pathway. By using a combination of conventional map-based cloning and random sequencing we identified a putative cytochrome P450 gene mapping to the same location as GA3. Relative to the progenitor line, two ga3 mutant alleles contained single base changes generating in-frame stop codons in the predicted amino acid sequence of the P450. A genomic clone spanning the P450 locus complemented the ga3-2 mutant. The deduced GA3 protein defines an additional class of cytochrome P450 enzymes. The GA3 gene was expressed in all tissues examined, RNA abundance being highest in inflorescence tissue";

		List<Character> pattern = new ArrayList<Character>();
		for (char c : line.toCharArray()) {
			pattern.add(c);
		}
		matcher.Query(pattern);
		for (String value : matcher.getOutput()) {
			System.out.println(value);
		}
	}