@SuppressWarnings("unchecked") public <A extends Annotation> CtAnnotation<A> getAnnotation(CtTypeReference<A> annotationType) { for (CtAnnotation<? extends Annotation> a : getAnnotations()) { if (a.getAnnotationType().equals(annotationType)) { return (CtAnnotation<A>) a; } } return null; }
@SuppressWarnings("unchecked") public <A extends Annotation> A getAnnotation(Class<A> annotationType) { for (CtAnnotation<? extends Annotation> a : getAnnotations()) { if (a.getAnnotationType().toString().equals(annotationType.getName().replace('$', '.'))) { return ((CtAnnotation<A>) a).getActualAnnotation(); } } return null; }