boolean (@NotNull PsiLocalVariable localVariable, @NotNull PsiPatternVariable patternVariable) { PsiElement scope = PsiUtil.getVariableCodeBlock(localVariable, null); if (scope == null) return false; return localVariable.hasModifierProperty(PsiModifier.FINAL) || !patternVariable.hasModifierProperty(PsiModifier.FINAL) || HighlightControlFlowUtil.isEffectivelyFinal(localVariable, scope, null); }