public ArrayList<ArrayList<String>> subjectsOf(ArrayList<String> clause, ArrayList<String> charIdentifier) {
        boolean hasPrep = false, hasVerb = false;
        ArrayList<String> subjects = new ArrayList<>(), identifiers = new ArrayList<>();
        for (int index = 0; index < clause.size(); index++) {
            for (String s : prepositions) {
                if (clause.get(index).replaceAll("\\s", "").equalsIgnoreCase(s)) {
                    hasPrep = true;
                    break;
                }
            }
            for (String s : VERBS) {
                if (charIdentifier.get(index).equals(s)) {
                    hasVerb = true;
                    break;
                }
            }

            if (!hasVerb) {
                for (String s : SUBJECTS) {
                    if (charIdentifier.get(index).equals(s)) {
                        if (!hasPrep) {
                            subjects.add(clause.get(index));
                            identifiers.add(charIdentifier.get(index));
                        } else {
                            hasPrep = false;
                        }
                    }
                }
            }
        }

        ArrayList<ArrayList<String>> subjectBundle = new ArrayList<>();
        subjectBundle.add(subjects);
        subjectBundle.add(identifiers);

        return subjectBundle;
    }