'Process a node in the dependency graph.
The node may be associated with either an update or a cleanup of its
associated resource.'

def check(self, cnxt, resource_id, current_traversal, resource_data, is_update, adopt_stack_data, rsrc, stack):

    if stack.has_timed_out():
        self._handle_stack_timeout(cnxt, stack)
        return
    tmpl = stack.t
    stack.adopt_stack_data = adopt_stack_data
    stack.thread_group_mgr = self.thread_group_mgr
    if is_update:
        if ((rsrc.replaced_by is not None) and (rsrc.current_template_id != tmpl.id)):
            return
    check_resource_done = self._do_check_resource(cnxt, current_traversal, tmpl, resource_data, is_update, rsrc, stack, adopt_stack_data)
    if check_resource_done:
        self._initiate_propagate_resource(cnxt, resource_id, current_traversal, is_update, rsrc, stack)
