@Override
  protected void addCompletions(@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));
    }
  }
@Override
  protected void addCompletions(@NotNull CompletionParameters parameters,
                                @NotNull ProcessingContext context,
                                @NotNull CompletionResultSet result)