private function assertRoundingMode($roundingMode)
    {
        if ($roundingMode !== null && !in_array($roundingMode, $this->roundingModes)) {
            throw new Exception\InvalidArgumentException(sprintf(
                'Rounding mode should be %s',
                implode(' | ', array_map(
                    function($constant) {
                        return __CLASS__ . '::' . $constant;
                    },
                    array_keys($this->roundingModes)
                ))
            ));
        }
    }