Included support for custom annotation processing.

Included support for custom annotation processing.
Could the following if clauses be replaced with Objects.equal(typeClass, other.typeClass) && ... ?