DefaultFeaturizerSequenceValidator implements
    SequenceValidator<TokenTag> { private boolean matches(String outcome, List<String> tags) { if(tags.contains(outcome)) { return true; } for (String t : tags) { if(matches(outcome, t)) return true; } return false; } DefaultFeaturizerSequenceValidator(FeatureDictionary tagDict,
      Set<String> poisonedTags); boolean validSequence(int i, TokenTag[] sequence, String[] s,
      String outcome); static boolean matches(String outcome, String tag);  }
@Test public void testMatches() { assertFalse(DefaultFeaturizerSequenceValidator.matches("V=PCP=F=S", "F=S")); assertTrue(DefaultFeaturizerSequenceValidator.matches("0/1S", "0/1/3S")); assertTrue(DefaultFeaturizerSequenceValidator.matches("1S", "0/1/3S")); assertFalse(DefaultFeaturizerSequenceValidator.matches("2S", "0/1/3S")); assertFalse(DefaultFeaturizerSequenceValidator.matches("1P", "0/1/3S")); assertFalse(DefaultFeaturizerSequenceValidator.matches("3P", "0/1/3S")); assertTrue(DefaultFeaturizerSequenceValidator.matches("M=S", "M/F=S/P")); assertTrue(DefaultFeaturizerSequenceValidator.matches("M=S", "M/F=S")); assertFalse(DefaultFeaturizerSequenceValidator.matches("M", "M/F=S")); }