void (@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); } } }