public class DequeStack implements Stack { private Deque D; public DequeStack() { D = new MyDeque(); } public int size() { return D.size(); } public boolean isEmpty() { return D.isEmpty(); } public void push(Object obj) { D.insertLast(obj); } public Object top() throws StackEmptyException { try { return D.last(); } catch (DequeEmptyException ece) { throw new StackEmptyException("Stack is empty!"); } } public Object pop() throws StackEmptyException { try { return D.removeLast(); } catch (DequeEmptyException ece) { throw new StackEmptyException("Stack is empty!"); } } }