void (PyChangeInfo changeInfo, @NotNull PyFunction function) { PyStringLiteralExpression docStringExpression = function.getDocStringExpression(); if (docStringExpression == null) return; final PyParameterInfo[] parameters = changeInfo.getNewParameters(); Set<String> names = new HashSet<>(); for (PyParameterInfo info : parameters) { names.add(StringUtil.trimLeading(info.getName(), '*').trim()); } final Module module = ModuleUtilCore.findModuleForPsiElement(function); if (module == null) return; final PyDocstringGenerator generator = PyDocstringGenerator.forDocStringOwner(function); for (PyParameter p : function.getParameterList().getParameters()) { final String paramName = p.getName(); if (paramName != null && !names.contains(paramName)) { generator.withoutParam(paramName); } } generator.buildAndInsert(); }