def METHOD_NAME(func, only_on_kwarg=False):
    """Wrap cloud-volume mesh and skeleton sources.
    Parameters
    ----------
    func :          callable
                    Function/method to wrap.
    only_on_kwarg : bool
                    If True, will look for a `as_navis=True` (default=False)
                    keyword argument to determine if results should be converted
                    to navis neurons.
    """
    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        ret_navis = kwargs.pop('as_navis', False)
        res = func(*args, **kwargs)
        if not only_on_kwarg or ret_navis:
            neurons = []
            if isinstance(res, list):
                res = {getattr(n, 'id', 'NA'): n for n in res}
            if isinstance(res, (cv.Mesh, cv.Skeleton)):
                res = {getattr(res, 'id', 'NA'): res}
            for k, v in res.items():
                if isinstance(v, cv.Mesh):
                    n = core.MeshNeuron(v, id=k, units='nm')
                    neurons.append(n)
                elif isinstance(v, cv.Skeleton):
                    swc_str = v.to_swc()
                    n = io.read_swc(swc_str)
                    n.id = k
                    n.units = 'nm'
                    neurons.append(n)
                else:
                    logger.warning(f'Skipped {k}: Unable to convert {type(v)} to '
                                   'navis Neuron.')
            return core.NeuronList(neurons)
        return res
    return wrapper