private static List<CoreLabel> breakOnPattern(List<CoreLabel> tokens, Pattern pattern) {
List<CoreLabel> output = new ArrayList<CoreLabel>();
for (int i = 0; i < tokens.size(); i++) {
CoreLabel token = tokens.get(i);
Matcher matcher = pattern.matcher(token.word());
if (matcher.find()) {
int sepPos = matcher.start(2);
String s1 = token.word().substring(0, sepPos);
if(! DISCARD_STANDALONE_DASHES || ! s1.equals("-")){
output.add(tokenFactory.makeToken(s1, token.beginPosition(), sepPos));