public class DynamicArrayStack implements Stack { // Instance variables private E[] elems; // Used to store the elements of this ArrayStack private int top; // Designates the first free cell private static final int DEFAULT_INC = 25; //Used to store default increment / decrement @SuppressWarnings( "unchecked" ) // Constructor public DynamicArrayStack( int capacity ) { // Your code here. } // Gets current capacity of the array public int getCapacity() { return elems.length; } // Returns true if this DynamicArrayStack is empty public boolean isEmpty() { return ( top == 0 ); } // Returns the top element of this ArrayStack without removing it public E peek() { return elems[ top-1 ]; } @SuppressWarnings( "unchecked" ) // Removes and returns the top element of this stack public E pop() { // Your code here. } @SuppressWarnings( "unchecked" ) // Puts the element onto the top of this stack. public void push( E element ) { // Your code here. } @SuppressWarnings( "unchecked" ) public void clear() { // Your code here. } }