def perform_extra_setups(self):
        """Call the perform_extra_setups method on children.

        This goes through each child and its own children
        recursively, executing special methods. For more
        information, check the menu/submenu/main.py module.
        """
        ### iterate over each child executing the
        ### perform_extra_setups if it exists

        for child in self.children:

            try:
                method = child.perform_extra_setups

            except AttributeError:
                pass

            else:
                method()
Call the perform_extra_setups method on children.

        This goes through each child and its own children
        recursively, executing special methods. For more
        information, check the menu/submenu/main.py module.
        
nodezator/menu/main.py