This function goes through the given container and returns the stack elements. Each stack
        element is represented by a tuple:
            ( container_name, element_name, stack_element)
        The tuples are returned in an array

def find_stack_elements(self, module, module_name="", _visited_modules=None):
        """
        This function goes through the given container and returns the stack elements. Each stack
        element is represented by a tuple:
            ( container_name, element_name, stack_element)
        The tuples are returned in an array
        """
        from types import ModuleType
        if _visited_modules is None: _visited_modules = []
        _visited_modules.append(module)
        #
        elements = []
        for el_name in dir(module):
            the_el = module.__getattribute__(el_name)
            if isinstance(the_el, ModuleType):
                # Recursively go into the module
                if the_el in _visited_modules:
                    continue
                elements = elements + self.find_stack_elements(the_el, module_name + el_name + ".", _visited_modules)
            elif isinstance(the_el, StackElement):
                # Add to list
                elements.append((module_name, el_name, the_el))
        return elements