@Override
    public void visitParameter(@NotNull PsiParameter variable) {
      super.visitParameter(variable);
      final PsiElement declarationScope = variable.getDeclarationScope();
      if (!(declarationScope instanceof PsiMethod method)) {
        return;
      }
      if (method.isConstructor() &&
          (m_ignoreForConstructors || JavaPsiRecordUtil.isCanonicalConstructor(method))) {
        return;
      }
      if (m_ignoreForAbstractMethods) {
        if (method.hasModifierProperty(PsiModifier.ABSTRACT)) {
          return;
        }
        final PsiClass containingClass = method.getContainingClass();
        if (containingClass != null && containingClass.isInterface()) {
          return;
        }
      }
      if (m_ignoreForPropertySetters) {
        final String methodName = method.getName();
        if (methodName.startsWith(HardcodedMethodConstants.SET) && PsiTypes.voidType().equals(method.getReturnType())) {
          return;
        }

        if (PropertyUtilBase.isSimplePropertySetter(method)) {
          return;
        }
      }
      final PsiClass aClass = LocalVariableHidingMemberVariableInspection
        .findSurroundingClassWithHiddenField(variable, m_ignoreInvisibleFields, m_ignoreStaticMethodParametersHidingInstanceFields);
      if (aClass == null) {
        return;
      }
      registerVariableError(variable, aClass);
    }
@Override
    public void visitParameter(@NotNull PsiParameter variable)