code: def process(self, broker):
          
          if any(i in broker for i in dr.IGNORE.get(self.component, [])):
              raise dr.SkipComponent()
          missing = self.get_missing_dependencies(broker)
          if missing:
              return _make_skip(dr.get_name(self.component), missing)
          r = self.invoke(broker)
          if r is None:
              raise dr.SkipComponent()
          if not isinstance(r, Response):
              raise Exception("rules must return Response objects.")
          return r
docs: Ensures dependencies have been met before delegating to `self.invoke`.