protected final void registerMethodError(@NotNull PsiMethod method, Object... infos) {
   final PsiElement nameIdentifier = method.getNameIdentifier();
   if (nameIdentifier == null) {
     registerError(method.getContainingFile(), infos);
   } else {
     registerError(nameIdentifier, infos);
   }
 }
 protected final void registerStatementError(@NotNull PsiStatement statement, Object... infos) {
   final PsiElement statementToken = statement.getFirstChild();
   if (statementToken == null) {
     registerError(statement, infos);
   } else {
     registerError(statementToken, infos);
   }
 }
 protected final void registerVariableError(@NotNull PsiVariable variable, Object... infos) {
   final PsiElement nameIdentifier = variable.getNameIdentifier();
   if (nameIdentifier == null) {
     registerError(variable, infos);
   } else {
     registerError(nameIdentifier, infos);
   }
 }
 protected final void registerTypeParameterError(
     @NotNull PsiTypeParameter typeParameter, Object... infos) {
   final PsiElement nameIdentifier = typeParameter.getNameIdentifier();
   if (nameIdentifier == null) {
     registerError(typeParameter, infos);
   } else {
     registerError(nameIdentifier, infos);
   }
 }
 protected final void registerMethodCallError(
     @NotNull PsiMethodCallExpression expression, @NonNls Object... infos) {
   final PsiReferenceExpression methodExpression = expression.getMethodExpression();
   final PsiElement nameToken = methodExpression.getReferenceNameElement();
   if (nameToken == null) {
     registerError(expression, infos);
   } else {
     registerError(nameToken, infos);
   }
 }
 protected final void registerNewExpressionError(
     @NotNull PsiNewExpression expression, Object... infos) {
   final PsiJavaCodeReferenceElement classReference =
       expression.getClassOrAnonymousClassReference();
   if (classReference == null) {
     registerError(expression, infos);
   } else {
     registerError(classReference, infos);
   }
 }
 protected final void registerClassInitializerError(
     @NotNull PsiClassInitializer initializer, Object... infos) {
   final PsiCodeBlock body = initializer.getBody();
   final PsiJavaToken lBrace = body.getLBrace();
   if (lBrace == null) {
     registerError(initializer, infos);
   } else {
     registerError(lBrace, infos);
   }
 }
 protected final void registerClassError(@NotNull PsiClass aClass, Object... infos) {
   final PsiElement nameIdentifier;
   if (aClass instanceof PsiEnumConstantInitializer) {
     final PsiEnumConstantInitializer enumConstantInitializer =
         (PsiEnumConstantInitializer) aClass;
     final PsiEnumConstant enumConstant = enumConstantInitializer.getEnumConstant();
     nameIdentifier = enumConstant.getNameIdentifier();
   } else if (aClass instanceof PsiAnonymousClass) {
     final PsiAnonymousClass anonymousClass = (PsiAnonymousClass) aClass;
     nameIdentifier = anonymousClass.getBaseClassReference();
   } else {
     nameIdentifier = aClass.getNameIdentifier();
   }
   if (nameIdentifier == null) {
     registerError(aClass.getContainingFile(), infos);
   } else {
     registerError(nameIdentifier, infos);
   }
 }
 protected final void registerModifierError(
     @NotNull String modifier, @NotNull PsiModifierListOwner parameter, Object... infos) {
   final PsiModifierList modifiers = parameter.getModifierList();
   if (modifiers == null) {
     return;
   }
   final PsiElement[] children = modifiers.getChildren();
   for (final PsiElement child : children) {
     final String text = child.getText();
     if (modifier.equals(text)) {
       registerError(child, infos);
     }
   }
 }
 protected final void registerFieldError(@NotNull PsiField field, Object... infos) {
   final PsiElement nameIdentifier = field.getNameIdentifier();
   registerError(nameIdentifier, infos);
 }