Anthony: Indeed, if you take a look to my code, I was missing the
synchronized keyword from two methods: public
String getError() and publiv void putNewError(String). Inside these two methods, I am calling the "wait()" and "notifyAll()" methods that need to be "wrapped" around
synchronized methods. Again, it seems to be that I overlooked the fact that that important keyword was not present for all methods where wait() and notifyAll() are being used.