'Iterate over the extensions invoking func() for any where
the name is in the given list of names.
The signature for func() should be::
def func(ext, *args, **kwds):
pass
The first argument to func(), \'ext\', is the
:class:`~stevedore.extension.Extension` instance.
Exceptions raised from within func() are propagated up and
processing stopped if self.propagate_map_exceptions is True,
otherwise they are logged and ignored.
:param names: List or set of name(s) of extension(s) to invoke.
:param func: Callable to invoke for each extension.
:param args: Variable arguments to pass to func()
:param kwds: Keyword arguments to pass to func()
:returns: List of values returned from func()'

def map(self, names, func, *args, **kwds):

    response = []
    for name in names:
        try:
            e = self.by_name[name]
        except KeyError:
            LOG.debug('Missing    extension    %r    being    ignored', name)
        else:
            self._invoke_one_plugin(response.append, func, e, args, kwds)
    return response
