@Override public FeatureConjunction clone() throws CloneNotSupportedException { return new FeatureConjunction(operands); }
public FeatureConjunction(List<Predicate> operands) { validateOperands(operands); this.operands = new ArrayList<>(operands); }
public static boolean isValidFeatureConjunctionOperand(Predicate operand) { return operand instanceof Negation && ((Negation) operand).getOperand() instanceof FeatureSet && isValidFeatureConjunctionOperand(((Negation) operand).getOperand()) || operand instanceof FeatureSet && ((FeatureSet) operand).getValues().size() == 1; }