'Create a new representation with ``method`` applied to the component
data.
This is not a simple inherit from ``BaseRepresentationOrDifferential``
because we need to call ``._apply()`` on any associated differential
classes.
See docstring for `BaseRepresentationOrDifferential._apply`.
Parameters
method : str or callable
If str, it is the name of a method that is applied to the internal
``components``. If callable, the function is applied.
args : tuple
Any positional arguments for ``method``.
kwargs : dict
Any keyword arguments for ``method``.'

def _apply(self, method, *args, **kwargs):

    rep = super(BaseRepresentation, self)._apply(method, *args, **kwargs)
    rep._differentials = dict([(k, diff._apply(method, *args, **kwargs)) for (k, diff) in self._differentials.items()])
    return rep
