public override async Task <EntityView> Run(EntityView entityView, CommercePipelineExecutionContext context)
        {
            if (entityView == null ||
                !entityView.Action.Equals("ListMaster-AddList", StringComparison.OrdinalIgnoreCase))
            {
                return(entityView);
            }

            try
            {
                var list          = entityView.Properties.First(p => p.Name == "List").Value ?? "";
                var asManagedList = System.Convert.ToBoolean(entityView.Properties.First(p => p.Name == "AsManagedList").Value);

                var listId = string.Empty;
                listId = asManagedList ? $"Entity-ManagedList-{list}" : list;

                var managedList = new ManagedList()
                {
                    Id = listId, Name = list, DisplayName = list
                };
                managedList.GetComponent <ListMembershipsComponent>().Memberships.Add("ManagedLists");
                await this._commerceCommander.PersistEntity(context.CommerceContext, managedList);
            }
            catch (Exception ex)
            {
                context.Logger.LogError($"Catalog.DoActionAddList.Exception: Message={ex.Message}");
            }

            return(entityView);
        }