code: def _forwarder(forwards, cls=None):
      """Decorator to forward specific methods to Artist children."""
      if cls is None:
          return partial(_forwarder, forwards)
  
      def make_forward(name):
          def method(self, *args, **kwargs):
              ret = getattr(cls.mro()[1], name)(self, *args, **kwargs)
              for c in self.get_children():
                  getattr(c, name)(*args, **kwargs)
              return ret
  
          return method
  
      for f in forwards:
          method = make_forward(f)
          method.__name__ = f
          method.__doc__ = "broadcasts {} to children".format(f)
          setattr(cls, f, method)
  
      return cls
  
imports: from warnings import warn
  from functools import wraps, partial
  from igraph._igraph import convex_hull, VertexSeq
  from igraph.drawing.baseclasses import AbstractGraphDrawer
  from igraph.drawing.utils import FakeModule
  from .edge import MatplotlibEdgeDrawer, EdgeCollection
  from .polygon import HullCollection
  from .utils import find_matplotlib
  from .vertex import MatplotlibVertexDrawer, VertexCollection
label_desc: Use image node_id 2 for calling a global function with example usage: _forwarder(forwards, cls) and returns: cls, partial, method, ret