import static ch.lambdaj.Lambda.having;import static ch.lambdaj.Lambda.on;import static ch.lambdaj.collection.LambdaCollections.with;import static org.hamcrest.core.IsEqual.equalTo;import java.util.Arrays;import java.util.List;public class Derp { public static class Person { Person() { } Person(int a) { dob.year = a; } DOB dob = new DOB(); public DOB getDob() { return dob; } public void setDob(DOB dob) { this.dob = dob; } } public static class DOB { private int year; public int getYear() { return year; } public void setYear(int year) { this.year = year; } } public static void main(String[] args) { List<Person> people = Arrays.asList(new Person(1985), new Person(1988), new Person(1985)); List<Person> ppl1985 = with(people).retain( having(on(Person.class).getDob().getYear(), equalTo(1985))); for(Person p : ppl1985) { System.out.println(p+" = "+p.getDob().getYear()); } System.out.println("derp"); for(Person p : people) { System.out.println(p+" = "+p.getDob().getYear()); } }}