code: def _register_dependencies(self):
          
          for tree_name, context_entry in context.timetable_context.items():
              tree = self.trees[tree_name]
              assert isinstance(tree, MultiLevelTree)
              for dependent_on in context_entry.dependent_on:
                  dependent_on_tree = self.trees[dependent_on]
                  assert isinstance(dependent_on_tree, MultiLevelTree)
                  tree.register_dependent_on(dependent_on_tree)
docs: register dependencies between trees