¿Por qué Class.getAnnotation () requiere que haga un reparto?

Estoy usando Java 1.6.0_25.

Tengo una anotación definida:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public ,@interface Resource {
    String value();
}

Y más tarde cuando uso getAnnotation:

Resource resource = (Resource)cls.getAnnotation(Resource.class);

el compilador e IDE acuerdan que debo emitir el resultado, pero getAnnotation se declara en la documentación de Java 1.5 como:

public <A extends Annotation> A getAnnotation(Class<A> annotationClass);

Since Resource.class es de tipo Class, me parece que esto significa que cls.getAnnotation (Resource.class) debería devolver el tipo Resource, y debería necesitar lanzar.

Todos los ejemplos que he encontrado usando getAnnotation no tienen un elenco, así que debo estar haciendo algo mal.

Respuestas a la pregunta(2)

Su respuesta a la pregunta