private static void checkSpecial(@NotNull ReflectiveClass ownerClass,
                                   @NotNull PsiExpression callerClassExpression,
                                   @NotNull ProblemsHolder holder) {
    final ReflectiveClass callerClass = getReflectiveClass(callerClassExpression);
    if (callerClass != null && callerClass.isExact()) {
      final PsiClass caller = callerClass.getPsiClass();
      final PsiClass owner = ownerClass.getPsiClass();
      if (!InheritanceUtil.isInheritorOrSelf(caller, owner, true)) {
        final String callerName = caller.getQualifiedName();
        final String ownerName = owner.getQualifiedName();
        if (callerName != null && ownerName != null) {
          holder.registerProblem(callerClassExpression,
                                 JavaBundle.message("inspection.handle.signature.not.subclass", callerName, ownerName));
        }
      }
    }
  }
private static void checkSpecial(@NotNull ReflectiveClass ownerClass,
                                   @NotNull PsiExpression callerClassExpression,
                                   @NotNull ProblemsHolder holder)