def METHOD_NAME(st, req):
    # Recursively find requirements
    for key, value in req.items():
        try:
            cond_value = st[key]
        except KeyError:
            msg = ("Requires '{}={}' but '{}' not in state dict."
                   .format(key, value, key))
            unsatisfied.append(msg)
        else:
            if isinstance(value, dict):
                METHOD_NAME(cond_value, value)
            elif value != 'ANY VALUE' and cond_value != value:
                msg = ("Requires '{}={}' not '{}={}'."
                       .format(key, value, key, cond_value))
                unsatisfied.append(msg)