Disjunction extends PredicateOperator { @Override public List<Predicate> getOperands() { return operands; } Disjunction(Predicate... operands);  Disjunction(List<? extends Predicate> operands); Disjunction addOperand(Predicate operand); Disjunction addOperands(Collection<? extends Predicate> operands); Disjunction setOperands(Collection<? extends Predicate> operands); @Override List<Predicate> getOperands(); @Override Disjunction clone(); @Override int hashCode(); @Override boolean equals(Object obj);  }
@Test public void requireThatConstructorsWork() { Predicate foo = SimplePredicates.newString("foo"); Predicate bar = SimplePredicates.newString("bar"); Disjunction node = new Disjunction(foo, bar); assertEquals(Arrays.asList(foo, bar), node.getOperands()); node = new Disjunction(Arrays.asList(foo, bar)); assertEquals(Arrays.asList(foo, bar), node.getOperands()); }