void (@NotNull CompletionParameters parameters, @NotNull ProcessingContext context, @NotNull CompletionResultSet result) { final PsiElement position = parameters.getPosition(); assert position.getParent() instanceof GrReferenceExpression; final GrReferenceExpression refExpr = ((GrReferenceExpression)position.getParent()); final GrExpression qualifier = refExpr.getQualifierExpression(); if (!(qualifier instanceof GrReferenceExpression referenceExpression)) return; final PsiElement resolved = referenceExpression.resolve(); if (!(resolved instanceof PsiClass)) return; if (parameters.getInvocationCount() > 0 && CompletionUtil.shouldShowFeature(parameters, JavaCompletionFeatures.GLOBAL_MEMBER_NAME)) { final String shortcut = KeymapUtil.getFirstKeyboardShortcutText(ActionManager.getInstance().getAction(IdeActions.ACTION_CODE_COMPLETION)); if (StringUtil.isNotEmpty(shortcut)) { result.addLookupAdvertisement(GroovyBundle.message("this.super.completion.advertisement", shortcut)); } } if (!PsiUtil.hasEnclosingInstanceInScope((PsiClass)resolved, position, false)) return; for (String keyword : THIS_SUPER) { result.addElement(LookupElementBuilder.create(keyword)); } }