Hi Gerardo.
Unfortunately I don't have the time to have a deeper look at your sources. But if you get an ClassCastException on the same class (like you wrote: de.hpi.pois.klassen.Application cannot be cast to de.hpi.pois.klassen.Application) this always means you have the same class loaded by different class loaders. And this means you have deployed the class twice somehow. So a good start would be to look how the class is packaged and in which deployment artefact this is contained...
Cheers
Bernd