private LinkedList<String> checkForKeywordsConsistingOfSeveralWords(
			LinkedList<String> possibleKeywords, LinkedList<String> result) {
		
		LinkedList<String> output = new LinkedList<String>();
		ArrayList<Keyword> keywordList = (ArrayList<Keyword>) dictionary.getKeywordList();
		
		for(int i = 0; i < keywordList.size(); i++) {
			if(keywordList.get(i).getWord().matches(".+ .+")) {
				LinkedList<String> possibleKw = new LinkedList<String>();
				possibleKw.addAll(possibleKeywords);
				LinkedList<String> inputWords = new LinkedList<String>();
				inputWords.addAll(result);
				
				String[] keywordWords = keywordList.get(i).getWord().split(" ");
				String possibleOutput = keywordList.get(i).getWord() + ";";
				Integer distance = 0;
				for(int j = 0; j < keywordWords.length; j++) {
					String possibleMatch = this.seekMatchingWords(keywordWords[j], inputWords, possibleKw);
					if(possibleMatch.equals("")) {distance = 11;}
					else if(!possibleMatch.equals(keywordWords[j])) {
						Levenshtein levenshtein = new Levenshtein(possibleMatch, keywordWords[j]);
						distance = distance + levenshtein.getDistance();
						possibleOutput = possibleOutput + possibleMatch + " ";
						possibleKw.removeFirstOccurrence(possibleMatch);
					} else { 
						possibleOutput = possibleOutput + possibleMatch + " "; 
						inputWords.removeFirstOccurrence(possibleMatch);
					}
				}
				if(distance <= 10) { 
					possibleOutput = possibleOutput.trim() + ";" + distance.toString();
					output.add(possibleOutput);
				}
			}
		}
		
		return this.switchWords(output);
	}