code: def subset_hook_caller(self, name, remove_plugins):
          
          orig = getattr(self.hook, name)
          plugins_to_remove = [plug for plug in remove_plugins if hasattr(plug, name)]
          if plugins_to_remove:
              hc = _HookCaller(
                  orig.name, orig._hookexec, orig.spec.namespace, orig.spec.opts
              )
              for hookimpl in orig.get_hookimpls():
                  plugin = hookimpl.plugin
                  if plugin not in plugins_to_remove:
                      hc._add_hookimpl(hookimpl)
                      # we also keep track of this hook caller so it
                      # gets properly removed on plugin unregistration
                      self._plugin2hookcallers.setdefault(plugin, []).append(hc)
              return hc
          return orig
docs: Return a new _HookCaller instance for the named method
          which manages calls to all registered plugins except the
          ones from remove_plugins.