Class.isAnnotationPresent() を使用して、保持ポリシーがSOURCE または CLASS (デフォルト) に設定されているアノテーションをテストすると、常に否定的な結果になります。 この間違いは見落としがちです。
例:
{
getClass().isAnnotationPresent(SourceAnnotation.class); //常に false
}
@Retention(RetentionPolicy.SOURCE)
@interface SourceAnnotation {}