private static void CreateCommandBuildersFromRequestExecutors(CodeClass currentClass, bool classHasIndexers, IEnumerable <CodeMethod> requestMethods) { foreach (var requestMethod in requestMethods) { CodeMethod clone = requestMethod.Clone() as CodeMethod; var cmdName = clone.HttpMethod switch { HttpMethod.Get when classHasIndexers => "List", HttpMethod.Post when classHasIndexers => "Create", _ => clone.Name, }; clone.IsAsync = false; clone.Name = $"Build{cmdName}Command"; clone.Description = requestMethod.Description; clone.ReturnType = CreateCommandType(); clone.Kind = CodeMethodKind.CommandBuilder; clone.OriginalMethod = requestMethod; clone.SimpleName = cmdName; clone.ClearParameters(); currentClass.AddMethod(clone); currentClass.RemoveChildElement(requestMethod); } }