def ratechangebase(self, ratefactor, current_base, new_base):
        """
        Local helper function for changing currency base, returns new rate in new base
        Defaults to ROUND_HALF_EVEN
        """
        if self._multiplier is None:
            self.log(logging.WARNING, "CurrencyHandler: changing base ourselves")
            # Check the current base is 1
            if Decimal(1) != self.get_ratefactor(current_base, current_base):
                raise RuntimeError("CurrencyHandler: current baserate: %s not 1" % current_base)
            self._multiplier = Decimal(1) / self.get_ratefactor(current_base, new_base)
        return (ratefactor * self._multiplier).quantize(Decimal(".0001"))
Local helper function for changing currency base, returns new rate in new base
        Defaults to ROUND_HALF_EVEN