public void addToStack(T data) { ListElement<T> element = null; if (list.isEmpty()) { element = new ListElement<T>(data, null, null); } else { element = new ListElement<T>(data, head, null); } list.add(0, element); if (list.size() > maxSize) { list.remove(maxSize); element.delete(); } head = element.getHead(); tail = element.getTail(); }