@@ -0,0 +1,1141 @@
+package com.denver.citiestate.utils;%0A%0Aimport com.denver.citiestate.interfaces.Listable;%0A%0Apublic abstract class List %7B%0A%0A%09/* Keeps the maximum size of the list */%0A%09protected int maxSpace;%0A%09/* Keeps current position of the list */%0A%09protected int currentIndex;%0A%09/* List of Listable */%0A%09protected Listable%5B%5D list;%0A%0A%09/**%0A%09 * Initialize the Listable list%0A%09 * %0A%09 * @param maxSpace%0A%09 */%0A%09public List(int maxSpace) %7B%0A%09%09super();%0A%09%09currentIndex = 0;%0A%09%09list = new Listable%5BmaxSpace%5D;%0A%09%7D%0A%0A%09/**%0A%09 * Reset the pointer in the Listable list%0A%09 */%0A%09public void reset() %7B%0A%09%09currentIndex = 0;%0A%09%7D%0A%0A%09/**%0A%09 * Check Listable isfull%0A%09 * %0A%09 * @return%0A%09 */%0A%09public boolean isFull() %7B%0A%09%09return (list.length == maxSpace);%0A%09%7D%0A%0A%09/**%0A%09 * Get the size of the Listable list%0A%09 * %0A%09 * @return size%0A%09 */%0A%09public int size() %7B%0A%09%09return list.length;%0A%09%7D%0A%0A%09/**%0A%09 * Return the next Listable%0A%09 * %0A%09 * @return Listable%0A%09 */%0A%09public Listable next() %7B%0A%09%09if (currentIndex == maxSpace) %7B%0A%09%09%09currentIndex = 0;%0A%09%09%09return list%5BcurrentIndex++%5D;%0A%09%09%7D else %7B%0A%09%09%09return list%5BcurrentIndex++%5D;%0A%0A%09%09%7D%0A%09%7D%0A%09%0A%09/**%0A%09 * get the max Space %0A%09 * @return%0A%09 */%0A%09public int getMaxSpace() %7B%0A%09%09return maxSpace;%0A%09%7D%0A%0A%7D%0A

Add List abstract class