Updates TypeOracleBuilder from r1654 to use Class.asSubclass to cast Class<?> to Class<? extends Annotation>.

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@1664 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/dev/jdt/TypeOracleBuilder.java b/dev/core/src/com/google/gwt/dev/jdt/TypeOracleBuilder.java
index 25ae687..f1c9665 100644
--- a/dev/core/src/com/google/gwt/dev/jdt/TypeOracleBuilder.java
+++ b/dev/core/src/com/google/gwt/dev/jdt/TypeOracleBuilder.java
@@ -654,12 +654,13 @@
 
     // Determine the annotation class
     TypeBinding resolvedType = annotation.resolvedType;
-    Class<? extends java.lang.annotation.Annotation> clazz = (Class<? extends java.lang.annotation.Annotation>) getClassLiteral(
-        logger, resolvedType);
-    if (clazz == null) {
+    Class<?> classLiteral = getClassLiteral(logger, resolvedType);
+    if (classLiteral == null) {
       return null;
     }
 
+    Class<? extends java.lang.annotation.Annotation> clazz = classLiteral.asSubclass(java.lang.annotation.Annotation.class);
+
     // Build the map of identifiers to values.
     Map<String, Object> identifierToValue = new HashMap<String, Object>();
     for (MemberValuePair mvp : annotation.memberValuePairs()) {