def draw_body_and_children(self):
        """Draw body and children.

        Used when there's no objects for scrolling support
        to be drawn, just the body itself and the children.
        """
        ### draw the body object first; it serves as a common
        ### background for all children
        self.body.draw()

        ### now you'll iterate over the children
        ### drawing all of them, except if it is
        ### expanded, in which case it will be stored
        ### so it can be drawn last

        ## create variable to hold expanded child if it is
        ## found
        expanded_child = None

        for child in self.children:

            ## draw the child
            child.draw()

            ## if child is_expanded attribute is True,
            ## store it

            try:

                if child.is_expanded:
                    expanded_child = child

            ## it might be however, that it doesn't even
            ## have an 'is_expanded' attribute (if it is a
            ## command), in which case just pass
            except AttributeError:
                pass

        ### now we check if we stored an expanded child;
        ### if so, we call its draw_body_and_its_contents
        ### method; we saved it for last because by
        ### being drawn last there's no way for its
        ### siblings to be drawn over its children in the
        ### screen; it is an aesthetic/usability measure,
        ### making the behaviour more intuitive for the user;

        if expanded_child:
            expanded_child.draw_body_and_its_contents()
Draw body and children.

        Used when there's no objects for scrolling support
        to be drawn, just the body itself and the children.
        
nodezator/menu/submenu/main.py