It would be better to use proxiedBeanType here instead of determining the superclass again. proxiedBeanType is available in the Factory constructor and can be passed here as an argument.