class WeightRankingStrategy implements ViolationRankingStrategy {

    @Override
    public List<Violation> rankViolations(Overlaps overlaps, Model model) {
        PriorityQueue<Violation> violations = new PriorityQueue<>(VIOLATION_COMPARATOR);
        for (Overlap violation : overlaps.getViolations()) {
            double confidence = weightFunction.getWeight(violation, overlaps, model);
            String confidenceString = weightFunction.getFormula(violation, overlaps, model);
            violations.add(new Violation(violation, confidence, confidenceString));
        }
        return toList(violations);
    }

    public  WeightRankingStrategy(ViolationWeightFunction weightFunction);

}