@Override
	public PlainSentence doProcess(PlainSentence ps) {
		String word = null;
		StringBuffer buf = new StringBuffer();
		StringTokenizer st = new StringTokenizer(ps.getSentence(), " \t");

		while (st.hasMoreTokens()) {
			word = st.nextToken();

			/* repeated character */
			if (word.length() > REPEAT_CHAR_ALLOWED) {
				char[] wordArray = word.toCharArray();
				int repeatCnt = 0;
				char checkChar = wordArray[0];

				buf.append(checkChar);

				for (int i = 1; i < wordArray.length; i++) {
					if (checkChar == wordArray[i]) {
						if (repeatCnt == REPEAT_CHAR_ALLOWED - 1) {
							buf.append(' ');
							buf.append(wordArray[i]);
							repeatCnt = 0;
						} else {
							buf.append(wordArray[i]);
							repeatCnt++;
						}
					} else {
						if (checkChar == '.') {
							buf.append(' ');
						}
						buf.append(wordArray[i]);
						checkChar = wordArray[i];
						repeatCnt = 0;
					}
				}
			} else {
				buf.append(word);
			}
			buf.append(' ');
		}
		ps.setSentence(buf.toString());
		return ps;
	}