public void ParseEvaluationPatterns(GameConfigData xmlGameConfig, GameConfig modelGameConfig) throws SlotModelException {
        ArrayList<com.akamon.slots.model.EvaluationPattern> previouslyAddedPaylines = new ArrayList<com.akamon.slots.model.EvaluationPattern>();

        for (EvaluationPattern evalPattern : xmlGameConfig.evaluationPatternList.evaluationPattern)
        {
            ArrayList<com.akamon.slots.model.Coordinate> modelCoordinates = new ArrayList<com.akamon.slots.model.Coordinate>();
            String name = evalPattern.name;
            for (Coord xmlCoord : evalPattern.coord)
            {
                modelCoordinates.add(new com.akamon.slots.model.Coordinate(xmlCoord.x, xmlCoord.y));
            }

            com.akamon.slots.model.EvaluationType evalType;
            if (evalPattern.evaluationType.equals("Payline"))
            {

                if(ContainsEvalPatternWithAllSameCoordinates(previouslyAddedPaylines,modelCoordinates) != null)
                {
                    String otherEvalPatternName = ContainsEvalPatternWithAllSameCoordinates(previouslyAddedPaylines,modelCoordinates).getName();
                    throw new com.akamon.slots.model.SlotModelException("Duplicate paylines: " + otherEvalPatternName + " and " + name);
                }
                else
                {
                    evalType = com.akamon.slots.model.EvaluationType.Payline;
                }

            }
            else if (evalPattern.evaluationType.equals("ScatterAny"))
                evalType = com.akamon.slots.model.EvaluationType.ScatterAny;
            else if (evalPattern.evaluationType.equals("Ways"))
                evalType = com.akamon.slots.model.EvaluationType.Ways;
            else
                throw new com.akamon.slots.model.SlotModelException("Invalid evalution type: " + evalPattern.evaluationType);

            com.akamon.slots.model.EvaluationPattern modelEvaluationPattern = new com.akamon.slots.model.EvaluationPattern(name,modelCoordinates,evalType);
            modelGameConfig.addEvaluationPattern(modelEvaluationPattern);
            if (modelEvaluationPattern.getEvaluationType() == com.akamon.slots.model.EvaluationType.Payline)
                previouslyAddedPaylines.add(modelEvaluationPattern);
        }
    }