public ArrayList<String> subAsArrayList(String sentence, String[] pattern) {
    String[] words = ProcessLogic.splitSentence(sentence);

    ArrayList<String> subAsArrayList = new ArrayList<String>();

    int i = 0;

    while (i < words.length
        && !(ProcessLogic.isABeVerb(words[i]))
        && !(ProcessLogic.isAHvHs(words[i]))
        && !(ProcessLogic.isNormalVerb(words[i]))
        && !(ProcessLogic.isDoDoes(words[i]))
        && !(ProcessLogic.isWill(words[i]))) {
      subAsArrayList.add(words[i]);
      log.info("Sub " + words[i]);
      log.info("ProcessLogic.isDoDoes(words[i]) " + ProcessLogic.isDoDoes(words[i]));
      i++;
    }
    return subAsArrayList;
  }