static MinMax findMinMax(MinMax minMax, List<Statement> statements, EncodedValueLookup lookup) {
        List<List<Statement>> groups = CustomModelParser.splitIntoGroup(statements);
        for (List<Statement> group : groups) findMinMaxForGroup(minMax, group, lookup);
        return minMax;
    }
@Test
    public void findMax_limitAndMultiply() {
        List<Statement> statements = Arrays.asList(
                If("road_class == TERTIARY", LIMIT, "90"),
                ElseIf("road_class == SECONDARY", MULTIPLY, "1.0"),
                ElseIf("road_class == PRIMARY", LIMIT, "30"),
                Else(LIMIT, "3")
        );
        assertEquals(140, findMinMax(new MinMax(0, 140), statements, lookup).max);
    }