/// <summary>
 /// Uses command executor that saved information about source command key.
 /// </summary>
 /// <param name="commandKey">The key of the command that initiates execute operations.</param>
 /// <returns>The instance of command executor associated with the command key.</returns>
 protected AggregateRootCommandExecutor <T, IRepository <T, IKey> > WithCommand(IKey commandKey)
 => defaultExecutor.WithCommand(commandKey);
 /// <summary>
 /// Uses command executor that saved information about source command key.
 /// </summary>
 /// <param name="commandKey">The key of the command that initiates execute operations.</param>
 /// <returns>The instance of command executor associated with the command key.</returns>
 protected AggregateRootCommandExecutor <T, IProcessRootRepository <T> > WithCommand(IKey commandKey)
 {
     return(defaultExecutor.WithCommand(commandKey));
 }