improve original fix for #1556 to not break existing consumers

Signed-off-by: Lukas Jungmann <lukas.jungmann@oracle.com>
diff --git a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JAnnotationClassValue.java b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JAnnotationClassValue.java
index 2140b41..1807b37 100644
--- a/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JAnnotationClassValue.java
+++ b/jaxb-ri/codemodel/codemodel/src/main/java/com/sun/codemodel/JAnnotationClassValue.java
@@ -19,7 +19,7 @@
     private String param;
 
     JAnnotationClassValue(JClass type) {
-        this.type = type.erasure();
+        this.type = type;
     }
 
     JAnnotationClassValue(JEnumConstant en) {
@@ -31,9 +31,9 @@
     @Override
     public void generate(JFormatter f) {
         if (param != null) {
-            f.t(type).p('.').p(param);
+            f.t(type.erasure()).p('.').p(param);
         } else {
-            f.t(type).p(".class");
+            f.t(type.erasure()).p(".class");
         }
     }