def METHOD_NAME(
    self,
    factor: float,
    inplace: bool = True,
    new_name: typing.Optional[str] = None,
) -> RateTaxScaleLike:
    if inplace:
        assert new_name is None
        for i, rate in enumerate(self.rates):
            self.rates[i] = rate * factor
        return self
    new_tax_scale = self.__class__(
        new_name or self.name,
        option=self.option,
        unit=self.unit,
    )
    for threshold, rate in zip(self.thresholds, self.rates):
        new_tax_scale.thresholds.append(threshold)
        new_tax_scale.rates.append(rate * factor)
    return new_tax_scale