public function add(MoneyInterface $other)
    {
        $wrappedMoney = $this
            ->wrappedMoney
            ->add($this->newWrappedMoneyFromMoney($other));

        return self::create(
            $wrappedMoney->getAmount(),
            $other->getCurrency()
        );
    }
public function add(MoneyInterface $other)
    {
        $wrappedMoney = $this
            ->wrappedMoney
            ->add($this->newWrappedMoneyFromMoney($other));

        return self::create(
            $wrappedMoney->getAmount(),
            $other->getCurrency()
        );
    }
public function add ( MoneyInterface $ other ) { $ wrappedMoney = $ this -> wrappedMoney -> add ( $ this -> newWrappedMoneyFromMoney ( $ other ) ) ; return self :: create ( $ wrappedMoney -> getAmount ( ) , $ other -> getCurrency ( ) ) ; }
Adds a Money and returns the result as a new Money.

@param MoneyInterface $other Other money

@return MoneyInterface New money instance as a result of addition
between current object and given as a parameter
Adds a Money and returns the result as a new Money .