--- old/src/share/classes/sun/reflect/annotation/AnnotationSupport.java 2013-10-27 14:37:23.000000000 -0700 +++ new/src/share/classes/sun/reflect/annotation/AnnotationSupport.java 2013-10-27 14:37:23.000000000 -0700 @@ -175,10 +175,12 @@ } - /* Reflectively invoke the values-method of the given annotation - * (container), cast it to an array of annotations and return the result. + /* + * Reflectively invoke the values-method of the given annotation + * (container), cast it to an array of annotations and return the + * result. */ - private static A[] getValueArray(Annotation container) { + public static A[] getValueArray(Annotation container) { try { // According to JLS the container must have an array-valued value // method. Get the AnnotationType, get the "value" method and invoke @@ -199,16 +201,12 @@ // return-value in the method that call this method. @SuppressWarnings("unchecked") A[] values = (A[]) m.invoke(container); - return values; - } catch (IllegalAccessException | // couldn't loosen security IllegalArgumentException | // parameters doesn't match InvocationTargetException | // the value method threw an exception ClassCastException e) { - throw invalidContainerException(container, e); - } }