<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def find_one_node(self, *keys, value, decend=True):
 """Find a node on the branch of the instance with a `keys=data` item in the `data` dict. Nested values are accessed by specifying the keys in sequence. e.g. `node.get_data("country", "city")` would access `node.data["country"]["city"]` :param keys: the `data` dict key(s) referencing the required value. :type keys: str :param value: the value corresponding to `keys`. Note that `value` is a keyword-only argument. :param decend: `decend=True` traverse down the branch sub-tree starting from `self`. `decend=False` traverse up the branch from `self` towards root. :type decend: bool :returns: the first node found with `keys=data` in the `data` dict. :rtype: Node or None """

        if decend:
            traversal = self
        else:
            traversal = self._ancestors
        for _node in traversal:
            _val = _node.get_data(*keys)
            if _val == value:
                return _node
        return None