private async Task RenameCore(RenameAssetFolder c)
        {
            var operation = await AssetFolderOperation.CreateAsync(serviceProvider, c, () => Snapshot);

            operation.MustHaveName(c.FolderName);

            Rename(c);
        }
        private async Task MoveCore(MoveAssetFolder c)
        {
            var operation = await AssetFolderOperation.CreateAsync(serviceProvider, c, () => Snapshot);

            if (!c.OptimizeValidation)
            {
                await operation.MustMoveToValidFolder(c.ParentId);
            }

            Move(c);
        }
        private async Task CreateCore(CreateAssetFolder create, CreateAssetFolder c)
        {
            var operation = await AssetFolderOperation.CreateAsync(serviceProvider, c, () => Snapshot);

            operation.MustHaveName(c.FolderName);

            if (!c.OptimizeValidation)
            {
                await operation.MustMoveToValidFolder(c.ParentId);
            }

            Create(create);
        }