@@ -0,0 +1,1261 @@
+package hu.webarticum.jsatbuilder.builder.common;%0A%0Aimport java.util.Collection;%0A%0Aimport hu.webarticum.jsatbuilder.builder.core.Definition;%0Aimport hu.webarticum.jsatbuilder.solver.core.Solver;%0A%0Apublic class OptionalOrConstraint extends AbstractLiteralListConstraint %7B%0A    %0A    private final Solver.CLAUSE_PRIORITY priority;%0A    %0A    public OptionalOrConstraint(Solver.CLAUSE_PRIORITY priority, Definition... definitions) %7B%0A        super(true, definitions);%0A        this.priority = priority;%0A    %7D%0A    %0A    public OptionalOrConstraint(Solver.CLAUSE_PRIORITY priority, DefinitionLiteral... literals) %7B%0A        super(true, literals);%0A        this.priority = priority;%0A    %7D%0A    %0A    public OptionalOrConstraint(Solver.CLAUSE_PRIORITY priority, Collection%3C?%3E literalsOrDefinitions) %7B%0A        super(true, literalsOrDefinitions);%0A        this.priority = priority;%0A    %7D%0A%0A    public Solver.CLAUSE_PRIORITY getPriority() %7B%0A        return priority;%0A    %7D%0A    %0A    @Override%0A    public void fillSolver(Solver solver) %7B%0A        Solver.Clause clause = new Solver.Clause();%0A        for (Solver.Literal solverLiteral: getLiteralListManager().getSolverLiterals()) %7B%0A            clause.addLiteral(solverLiteral);%0A        %7D%0A        solver.addOptional(clause, priority);%0A    %7D%0A%0A%7D%0A

Add OptionalOrConstraint