docs: def evaluate(self, parameters):
          """Returns False if there's no match, or whatever the ParameterCondition evaluates to (recursively applied!)"""
          if self.match(parameters):
              if isinstance(self.then, ParameterCondition):
                  #recursive parametercondition
                  return self.then.evaluate(parameters)
              else:
                  return self.then
          elif self.otherwise:
              if isinstance(self.otherwise, ParameterCondition):
                  #recursive else
                  return self.otherwise.evaluate(parameters)
              else:
                  return self.otherwise
          return False