public class Woman { String name; PersonList list; public Woman(String name) { this.name = name; list = null; } public Woman prepend(Man w) { list = new PersonList(w, list); return this; } public boolean likes(Man m) { PersonList ls = list; while ((ls != null) && (ls.person != m)) ls = ls.next; return (ls != null); } public void trimList(Man m) { // assumes list contains m if (list.person == m) list = null; else { PersonList ls = list; while (ls.next.person != m) ls = ls.next; ls.next = null; // drop m and all below him } } public String getList() { if (list == null) return "nobody"; else return list.toString(); } public String toString() { return name; } }