Conjunction extends PredicateOperator { @Override public int hashCode() { return operands.hashCode(); } 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 requireThatHashCodeIsImplemented() { assertEquals(new Conjunction().hashCode(), new Conjunction().hashCode()); }