@Override
 public void visitTypeParameter(PsiTypeParameter parameter) {
   super.visitTypeParameter(parameter);
   final String name = parameter.getName();
   if (!PsiKeyword.ASSERT.equals(name)) {
     return;
   }
   registerTypeParameterError(parameter);
 }
 @Override
 public void visitMethod(@NotNull PsiMethod method) {
   super.visitMethod(method);
   final String name = method.getName();
   if (!PsiKeyword.ASSERT.equals(name)) {
     return;
   }
   registerMethodError(method);
 }
 @Override
 public void visitVariable(@NotNull PsiVariable variable) {
   super.visitVariable(variable);
   final String variableName = variable.getName();
   if (!PsiKeyword.ASSERT.equals(variableName)) {
     return;
   }
   registerVariableError(variable);
 }
 @Override
 public void visitClass(@NotNull PsiClass aClass) {
   // note: no call to super, to avoid drill-down
   final String name = aClass.getName();
   if (!PsiKeyword.ASSERT.equals(name)) {
     return;
   }
   final PsiTypeParameterList params = aClass.getTypeParameterList();
   if (params != null) {
     params.accept(this);
   }
   registerClassError(aClass);
 }