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