public ArrayList<ArrayList<String>> splitClauses(Sentence input) {
        tokenizedSentence = input.getSentence();
        charIdentifier = input.getPosTags();
        int previousIndex = 0;

        for (int index = 0; index < tokenizedSentence.size(); index++) {

            if ((tokenizedSentence.get(index).matches("[;:]") || (index == tokenizedSentence.size() - 1)) || (tokenizedSentence.get(index).equals(",") && (tokenizedSentence.get(index + 2).matches("[for|and|nor|but|or|yet|so]")))) {

                ArrayList<String> clauseHolder = new ArrayList<>(), identifierHolder = new ArrayList<>();
                for (int i = previousIndex; i <= index; i++) {
                    clauseHolder.add(tokenizedSentence.get(i));
                    identifierHolder.add(charIdentifier.get(i));
                }
                clauses.add(clauseHolder);
                clauses.add(identifierHolder);
                previousIndex = index + 1;

            }
        }
        return clauses;
    }