Add support for Subclasses, Interfaces, Abstract Classes as POJOs

I thought that's what the PR is introducing?