void (@NotNull ImmutableCollectionModel model) { CodeBlockSurrounder surrounder = CodeBlockSurrounder.forExpression(model.myCall); if (surrounder == null) return; CodeBlockSurrounder.SurroundResult result = surrounder.surround(); PsiMethodCallExpression call = (PsiMethodCallExpression)result.getExpression(); PsiStatement statement = result.getAnchor(); model.myCall = call; String assignedVariable = model.myAssignedVariable; if (assignedVariable != null) { String initializerText = model.myType.getInitializerText(model.myIsVarArgCall ? null : call.getText()); PsiElement anchor = addUpdates(assignedVariable, model, statement); PsiReplacementUtil.replaceExpressionAndShorten(call, initializerText, new CommentTracker()); myUpdater.moveTo(anchor.getTextRange().getEndOffset()); } else { createVariable(statement, model); } }