/** * Represents the empty list. Uses the Singleton pattern to model the * uniqueness of the empty list. */ public class EmptyList extends AList { /** * Singleton pattern. */ public final static EmptyList Singleton = new EmptyList(); /** * Privatizing the constructor disables public instantiation of EmptyList. */ private EmptyList() { } // Other methods elided... }