Copyright Dr. Marek A. Suchenek, 2005, 2006, 2007, 2008, 2009 - 2025 POSITION is a non-empty list, that is, an element (head) followed by a LIST (tail). public class POSITION { public Object head; public POSITION tail; // some methods follow } Object of class POSITION always points to the previous element (for an extra level of indirection). Definition of position of an element x in a list L: a sublist N of list L such that x is the head of tail of N. Sublist of a list L is either L itself or (if L is non-empty) a sublist of tail of L. Object of class LIST is implemented as a pair of objects of type POSITION: (first, end).