def METHOD_NAME(self, q):
    """
    A thin wrapper around :meth:`astropy.units.Quantity.decompose` that
    knows how to handle Quantities with physical types with non-default
    representations.
    Parameters
    ----------
    q : :class:`~astropy.units.Quantity`
        An instance of an astropy Quantity object.
    Returns
    -------
    q : :class:`~astropy.units.Quantity`
        A new quantity, decomposed to represented in this unit system.
    """
    try:
        ptype = q.unit.physical_type
    except AttributeError:
        raise TypeError(
            "Object must be an astropy.units.Quantity, not "
            f"a '{q.__class__.__name__}'."
        )
    if ptype in self._registry:
        return q.to(self._registry[ptype])
    else:
        return q.METHOD_NAME(self)