jdk/src/share/classes/java/lang/reflect/Executable.java
changeset 15511 8f45487ac694
parent 15510 898d924a7efd
child 15655 d9ab4d9ee4f2
--- a/jdk/src/share/classes/java/lang/reflect/Executable.java	Tue Jan 29 10:32:49 2013 +0100
+++ b/jdk/src/share/classes/java/lang/reflect/Executable.java	Thu Jan 31 10:10:34 2013 +0100
@@ -26,7 +26,6 @@
 package java.lang.reflect;
 
 import java.lang.annotation.*;
-import java.util.Collections;
 import java.util.Map;
 import java.util.Objects;
 import sun.reflect.annotation.AnnotationParser;
@@ -438,8 +437,7 @@
      */
     public <T extends Annotation> T getAnnotation(Class<T> annotationClass) {
         Objects.requireNonNull(annotationClass);
-
-        return AnnotationSupport.getOneAnnotation(declaredAnnotations(), annotationClass);
+        return annotationClass.cast(declaredAnnotations().get(annotationClass));
     }
 
     /**
@@ -457,7 +455,7 @@
      * {@inheritDoc}
      */
     public Annotation[] getDeclaredAnnotations()  {
-        return AnnotationSupport.unpackToArray(declaredAnnotations());
+        return AnnotationParser.toArray(declaredAnnotations());
     }
 
     private transient Map<Class<? extends Annotation>, Annotation> declaredAnnotations;