class ReduceBasedDiagnosisHittingSetBuilder {

    boolean isMinimalDiagnosisHittingSet(Set<DiagnosisElement> candidate, Set<Set<DiagnosisElement>> diagnosisHittingSets) {
        if(candidate.size() == 1) {
            return true;
        }

        for(Set<DiagnosisElement> other : diagnosisHittingSets) {
            if(candidate != other) {
                if (coversAnotherDiagnosisHittingSet(candidate, other)) {
                    return false;
                }
            }
        }

        return true;
    }

    public  ReduceBasedDiagnosisHittingSetBuilder(TestModel testModel);

}