Modify the ArrayStack class so that there is no overflow. To accomplish this, modify push so that if the array is full, a new larger array is created, the items from the old array are copied into the new array, and the old array is replaced by the new array before the push is done.
Add a constructor that has a second parameter, increment, that is the amount by which the capacity is to be increased when the array is resized. Modify the original constructor so that the increment is the same as the initial capacity.
Make the new version implement the Stack interface rather than the BoundedStack interface.