In comparison with the AnnotationInvocationHandler, the AnnotationProxy might also add the annotation name in toString.
org.jboss.annotation.factory.AnnotationProxy@27982: {value=pojo} Annotation org.jboss.example.microcontainer.annotations.Name exists on class org.jboss.example.microcontainer.annotations.POJO sun.reflect.annotation.AnnotationInvocationHandler@778255: @org.jboss.example.microcontainer.annotations.Name(value=pojo2) Annotation org.jboss.example.microcontainer.annotations.Name exists on class org.jboss.example.microcontainer.annotations.POJO2