class ContainerUtil { interface Condition { boolean value(T object); } public static T find(Iterable iterable, final T equalTo) { return find(iterable, new Condition() { public boolean value(final T object) { return equalTo == object || equalTo.equals(object); } }); } public static T find(Iterable iterable, Condition condition) { return null; } }