'Return a list of registered units with the same physical type
as this unit.
This function is used by Quantity to add its built-in
conversions to equivalent units.
This is a private method, since end users should be encouraged
to use the more powerful `compose` and `find_equivalent_units`
methods (which use this under the hood).
Parameters
equivalencies : list of equivalence pairs, optional
A list of equivalence pairs to also pull options from.
See :ref:`unit_equivalencies`.  It must already be
normalized using `_normalize_equivalencies`.'

def _get_units_with_same_physical_type(self, equivalencies=[]):

    unit_registry = get_current_unit_registry()
    units = set(unit_registry.get_units_with_physical_type(self))
    for (funit, tunit, a, b) in equivalencies:
        if (tunit is not None):
            if (self.is_equivalent(funit) and (tunit not in units)):
                units.update(unit_registry.get_units_with_physical_type(tunit))
            if (self._is_equivalent(tunit) and (funit not in units)):
                units.update(unit_registry.get_units_with_physical_type(funit))
        elif self.is_equivalent(funit):
            units.add(dimensionless_unscaled)
    return units
