public static Sentence parseSentence(String senSourceString) {
        Sentence sentence = new Sentence();
        String[] wordSourceStrings = senSourceString.split(PARSE_SENTENCES);
        for (String wordSourceString : wordSourceStrings) {

            if (wordSourceString.equals(String.valueOf(' '))) {
                WhiteSpace whiteSpace = new WhiteSpace(' ');
                sentence.add(whiteSpace);
            } else if (wordSourceString.equals(String.valueOf('.'))) {
                PunctuationMark punctuationMark = new PunctuationMark('.');
                sentence.add(punctuationMark);
            } else if (wordSourceString.equals(String.valueOf('!'))) {
                PunctuationMark punctuationMark = new PunctuationMark('!');
                sentence.add(punctuationMark);
            } else if (wordSourceString.equals(String.valueOf('?'))) {
                PunctuationMark punctuationMark = new PunctuationMark('?');
                sentence.add(punctuationMark);

            } else {
                Word word = parseWord(wordSourceString);
                sentence.add(word);
            }
        }
        return sentence;
    }