public void parseLine(User guesser, Game game, String channel, String message) {
        if(guesser != null) {           
            for(User setter : game.users) {             
                Set<Word> words = new HashSet<Word>(setter.wordobjs);
                for(Word word : words) {
                    if(message.contains(word.word)) {
                        if(guesser.equals(setter)) {
                            // User mentioned his own word
                            word.mentions++;
                            if(game.autosave) {
                                saveGame(game);
                            }
                        }
                        else {
                            // User mentioned someone elses word
                            // First calculate the rewards
                            Integer guesserreward = word.calcGuesserReward(game.pointsreference);
                            Integer setterreward = word.calcSetterReward(game.pointsreference);
                            
                            // Inform the guesser about his accomplishment                          
                            sendMessage(channel, guesser + ": Congratulations! You have guessed the word '" + word + "' set by " + setter + "!");
                            sendMessage(channel, "Rewards: " + guesser + " " + guesserreward + " points, " + setter + " " + setterreward + " points.");
                            
                            // Give the guesser and setter a reward
                            guesser.points += guesserreward;
                            setter.points += setterreward;
                            
                            // Remove the word from the setter
                            setter.wordobjs.remove(word);
                            
                            // Assign word to guesser or random person
                            if(guesser.unsetwordobjs.size() <= game.maxwords) {
                                guesser.addUnsetWord();
                                sendMessageWrapper(channel, null, "Word given to: " + guesser);
                            }
                            else {
                                sendMessageWrapper(channel, guesser.nick, MSG_MAXWORDSREACHED);
                                User randomuser = getRandomUser(game, guesser);
                                randomuser.addUnsetWord();
                                sendMessageWrapper(channel, null, "Word given to: " + randomuser);
                            }
                            
                            if(game.autosave) {
                                saveGame(game);
                            }
                        }
                    }
                }
            }
        }
    }