def clone(self, **kw):
        """Copy this distribution, substituting in any changed keyword args"""
        names = 'project_name version py_version platform location precedence'
        for attr in names.split():
            kw.setdefault(attr, getattr(self, attr, None))
        kw.setdefault('metadata', self._provider)
        return self.__class__(**kw)
Copy this distribution, substituting in any changed keyword args
product/gradle-plugin/src/main/python/pip/_vendor/pkg_resources/__init__.py