/// <summary>
 /// Initializes a new instance of the <see cref="RegisterProductCommandInterpreter" /> class.
 /// </summary>
 /// <param name="driver">The driver.</param>
 /// <param name="productService">The product service.</param>
 public RegisterProductCommandInterpreter(IInputOutputDriver driver, IAppProductService productService) :
     base(RegisterProductCommandInterpreter.CommandKey, driver)
 {
     this.productService = productService;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="RegisterProductCommandInterpreter"/> class.
 /// </summary>
 public ReturnRentCommandInterpreter(IInputOutputDriver driver, IAppRentService rentService)
     : base(ReturnRentCommandInterpreter.CommandKey, driver) 
 {
     this.rentService = rentService;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="RegisterProductCommandInterpreter"/> class.
 /// </summary>
 public PayFineCommandInterpreter(IInputOutputDriver driver) : base(PayFineCommandInterpreter.CommandKey, driver) { }
 /// <summary>
 /// Initializes a new instance of the <see cref="BaseCommandInterpreter" /> class.
 /// </summary>
 /// <param name="key">The key.</param>
 /// <param name="driver">The driver.</param>
 protected BaseCommandInterpreter(string key, IInputOutputDriver driver)
 {
     this.key = key;
     this.driver = driver;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="BehaviourInterface"/> class.
 /// </summary>
 /// <param name="interpreter">The interpreter.</param>
 public BehaviourInterface(BaseCommandInterpreter interpreter, IInputOutputDriver driver)
 {
     this.driver = driver;
     this.interpreter = interpreter;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="RegisterProductCommandInterpreter"/> class.
 /// </summary>
 internal TestCommandInterpreter(IInputOutputDriver driver) : base(TestCommandInterpreter.CommandKey, driver) { }