### Question:
StringInterner extends Interner<String> { @Override public String intern(String string){ return string.intern(); } StringInterner(); @Override String intern(String string);  }### Answer:
@Test public void intern(){ SimplePredicate left = new CustomSimplePredicate(FieldName.create("x"), SimplePredicate.Operator.LESS_THAN, new String("0")); SimplePredicate right = new CustomSimplePredicate(FieldName.create("y"), SimplePredicate.Operator.LESS_THAN, new String("0")); assertNotSame(left.getValue(), right.getValue()); CompoundPredicate compoundPredicate = new CompoundPredicate(CompoundPredicate.BooleanOperator.OR, null) .addPredicates(left, right); StringInterner interner = new StringInterner(); interner.applyTo(compoundPredicate); assertSame(left.getValue(), right.getValue()); }