code: def get(self, **kwargs):
          
          for chain in self.chains:
              for key in kwargs:
                  getter_name = "get_"+key
                  # scan all possible getters
                  if (hasattr(chain, getter_name)):
                      getter = getattr(chain, getter_name) # e.g. "get_address"
                      if (getter() == kwargs[key]):
                          return chain
          return None
docs: Find correct filterchain based on generic variables