class AverageWeightFunction implements ViolationWeightFunction {

    @Override
    public double getWeight(Overlap violation, Overlaps overlaps, Model model) {
        double weight = 0;
        for (ViolationWeightFunction strategy : strategies) {
            weight += strategy.getWeight(violation, overlaps, model);
        }
        return weight / strategies.length;
    }

    public  AverageWeightFunction(ViolationWeightFunction... functions);

}