diff -urN openjdk.orig/jdk/src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java openjdk/jdk/src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java
--- openjdk.orig/jdk/src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java	2008-08-28 04:12:12.000000000 -0400
+++ openjdk/jdk/src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java	2008-11-05 17:18:36.000000000 -0500
@@ -1154,7 +1154,7 @@
             Set<BitSet> getterIndexSets = newSet();
             for (Constructor<?> constr : annotatedConstrList) {
                 String[] propertyNames =
-                    constr.getAnnotation(propertyNamesClass).value();
+		    ((ConstructorProperties)constr.getAnnotation(propertyNamesClass)).value();
 
                 Type[] paramTypes = constr.getGenericParameterTypes();
                 if (paramTypes.length != propertyNames.length) {
diff -urN openjdk.orig/jdk/src/share/classes/java/beans/MetaData.java openjdk/jdk/src/share/classes/java/beans/MetaData.java
--- openjdk.orig/jdk/src/share/classes/java/beans/MetaData.java	2008-08-28 04:12:48.000000000 -0400
+++ openjdk/jdk/src/share/classes/java/beans/MetaData.java	2008-11-05 17:18:36.000000000 -0500
@@ -1628,7 +1628,7 @@
     }
 
     private static String[] getAnnotationValue(Constructor<?> constructor) {
-        ConstructorProperties annotation = constructor.getAnnotation(ConstructorProperties.class);
+        ConstructorProperties annotation = ((ConstructorProperties) constructor.getAnnotation(ConstructorProperties.class));
         return (annotation != null)
                 ? annotation.value()
                 : null;
