'Create a new instance of this representation from another one.
Parameters
representation : `~astropy.coordinates.BaseRepresentation` instance
The presentation that should be converted to this class.
base : instance of ``cls.base_representation``
The base relative to which the differentials will be defined. If
the representation is a differential itself, the base will be
converted to its ``base_representation`` to help convert it.'

@classmethod
def from_representation(cls, representation, base):

    if isinstance(representation, BaseDifferential):
        cartesian = representation.to_cartesian(base.represent_as(representation.base_representation))
    else:
        cartesian = representation.to_cartesian()
    return cls.from_cartesian(cartesian, base)
