/// <inheritdoc />
        protected override IHasValue Calculate(IHasValue firstArg, IHasValue secondArg)
        {
            decimal firstValue  = firstArg.GetValue();
            decimal secondValue = secondArg.GetValue();

            if (secondValue == 0)
            {
                throw new ArgumentOutOfRangeException(nameof(secondArg),
                                                      ResourceStore.GetExceptionMessage("DenominatorIsZero"));
            }

            return(_numberFactory.CreateNumber(firstValue / secondValue));
        }