/// <summary>
        /// Performs the data processing associated with a command.
        /// </summary>
        /// <remarks>If a call to this method completes without any exception,
        /// a reference to the new store can be obtained using the
        /// <see cref="ExecutionContext.Store"/> property.
        /// </remarks>
        public void Process(ExecutionContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            // Create the physical manifestation (if any) for the new store
            var store = CmdStore.CreateStore(Input);

            // Write the command data
            store.Current.SaveData(Input);
            context.Store = store;
        }
        public void Process(ExecutionContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            // Create the new store
            var store = CmdStore.CreateStore(Input);

            // Write the command data
            // TODO: Does it need to be written anywhere? Perhaps to root metadata?
            // We shouldn't really touch any of the branches that have just been copied.
            //store.Current.SaveData(Input);
            context.Store = store;
        }