void (GrReferenceExpression ref) { final PsiElement resolved = ref.resolve(); if (resolved instanceof GrParameter parameter) { if (parameter.isPhysical() && parameter.hasModifierProperty(PsiModifier.FINAL) && PsiUtil.isLValue(ref)) { if (parameter.getDeclarationScope() instanceof PsiMethod) { myHolder.newAnnotation(HighlightSeverity.ERROR, GroovyBundle.message("cannot.assign.a.value.to.final.parameter.0", parameter.getName())).create(); } } } }