Replaced mentions of Stack with AbstractStack
Removed all the setErrorList() methods and replaced with one setError() method
Put back all the ErrorList methods
Removed unnecessary setErrorList() method
Replaced setErrorList() with setError() again
Removed mention of setErrorList() and replaced with setError()
Fixed bugs where setError() could not be found in ReturnObjectImpl
Removed unnecessary returns in remove() and both adds(). Also fixed a bug where there would be NullPointerExecptions whenever the add() methods successfully added a new element
Added numerous bug tests on the core methods
Removed setError() method once again and replaced with three methods that sets the currentError message to the specified error e.g. setEmpty() for Empty structure
Removed all the conditions for finding errors and replaced it with the respected methods for the errors
Removed all the conditions for finding errors and replaced it with the respected methods for the errors, removed unnecessary returns in all the methods, refactored the size() method and introduced a new field size