diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryModifierRule.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryModifierRule.java index 98501b7e7e..c615cbd06b 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryModifierRule.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/rule/codestyle/UnnecessaryModifierRule.java @@ -150,9 +150,11 @@ public class UnnecessaryModifierRule extends AbstractJavaRule { private boolean isSafeVarargs(final ASTMethodDeclaration node) { for (final ASTAnnotation annotation : node.jjtGetParent().findChildrenOfType(ASTAnnotation.class)) { final Node childAnnotation = annotation.jjtGetChild(0); - if (childAnnotation instanceof ASTMarkerAnnotation - && SafeVarargs.class.isAssignableFrom(((ASTMarkerAnnotation) childAnnotation).getType())) { - return true; + if (childAnnotation instanceof ASTMarkerAnnotation) { + final ASTMarkerAnnotation marker = (ASTMarkerAnnotation) childAnnotation; + if (marker.getType() != null && SafeVarargs.class.isAssignableFrom(marker.getType())) { + return true; + } } }