public String getSubjectMean(String sentence, String[] pattern) {

    //        ArrayList<String> subAsArrayList = new ArrayList<String>();
    //        subAsArrayList = Process.subToArrayList(sentence,pattern);
    String[] arr = Process.subToArray(sentence, pattern);
    //        subAsArrayList.toArray(arr);

    String mean = "";

    int i = 0;

    while (i < arr.length) {
      if (ProcessLogic.isOwnerShip(arr[i])) {
        mean =
            mean
                + " "
                + ProcessLogic.ownerShipMean(arr[i])
                + " "
                + ProcessLogic.getAnyWordMeaning(arr[i + 1])
                + " ";
        i++;
      } else {
        mean = mean + " " + ProcessLogic.getAnyWordMeaning(arr[i]) + " ";
      }
      i++;
    }
    log.info("Subject Meaning : " + mean);
    return mean;
  }
  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;
  }