@Override
      public void handleInsert(@NotNull InsertionContext context, @NotNull LookupElement item) {
        context.commitDocument();
        int startOffset = context.getTailOffset();
        PsiExpressionList exprList =
          PsiTreeUtil.findElementOfClassAtOffset(context.getFile(), startOffset - 1, PsiExpressionList.class, false);
        PsiElement rParen = exprList == null ? null : exprList.getLastChild();
        if (rParen != null && rParen.textMatches(")")) {
          context.getDocument().deleteString(startOffset, rParen.getTextRange().getStartOffset());
        }
        if (makeFinalIfNeeded) {
          context.commitDocument();
          for (PsiParameter parameter : CompletionUtil.getOriginalOrSelf(takeParametersFrom).getParameterList().getParameters()) {
            VariableLookupItem.makeFinalIfNeeded(context, parameter);
          }
        }
      }
@Override
      public void handleInsert(@NotNull InsertionContext context, @NotNull LookupElement item)