void (final PsiMethod method, ArrayList<? super UsageInfo> result, PsiMethod[] overriders, PsiDeconstructionPattern[] deconstructions) { if (JavaLanguage.INSTANCE.equals(myChangeInfo.getLanguage())) { PsiClass aClass = method.getContainingClass(); PsiRecordComponent[] components = null; if (aClass != null && JavaPsiRecordUtil.isCanonicalConstructor(method)) { components = aClass.getRecordComponents(); } PsiParameter[] parameters = method.getParameterList().getParameters(); for (ParameterInfo info : myChangeInfo.getNewParameters()) { if (info.getOldIndex() >= 0) { PsiParameter parameter = parameters[info.getOldIndex()]; boolean nameChanged = !info.getName().equals(parameter.getName()); if (nameChanged) { addParameterUsages(parameter, result, info); for (PsiMethod overrider : overriders) { PsiParameter parameter1 = overrider.getParameterList().getParameters()[info.getOldIndex()]; if (parameter1 != null && Comparing.strEqual(parameter.getName(), parameter1.getName())) { addParameterUsages(parameter1, result, info); } } for (PsiDeconstructionPattern deconstruction : deconstructions) { PsiPattern[] component = deconstruction.getDeconstructionList().getDeconstructionComponents(); PsiPatternVariable patternVariable = JavaPsiPatternUtil.getPatternVariable(component[info.getOldIndex()]); if (patternVariable != null && Comparing.strEqual(parameter.getName(), patternVariable.getName())) { addParameterUsages(patternVariable, result, info); } } } if (components != null && components.length > info.getOldIndex()) { PsiRecordComponent component = components[info.getOldIndex()]; if (nameChanged) { PsiField field = JavaPsiRecordUtil.getFieldForComponent(component); if (field != null) { for (PsiReferenceExpression reference : VariableAccessUtils.getVariableReferences(field, aClass)) { UsageInfo usageInfo = new ChangeSignatureParameterUsageInfo(reference, parameter.getName(), info.getName()); result.add(usageInfo); } } } PsiMethod explicitGetter = ContainerUtil .find(aClass.findMethodsByName(parameter.getName(), false), m -> m.getParameterList().isEmpty()); if (explicitGetter != null) { if (nameChanged) { addParameterUsages(explicitGetter, result, info); } if (!(explicitGetter instanceof LightRecordMethod) && (nameChanged || !parameter.getType().equalsToText(info.getTypeText()))) { result.add(new RecordGetterDeclarationUsageInfo(explicitGetter, info.getName(), info.getTypeText())); } } } } } } }