code: def generate(ast_tree: ast.Tree, model_name: str):
      
      component_ref = ast.ComponentRef.from_string(model_name)
      ast_tree_new = copy.deepcopy(ast_tree)
      ast_walker = TreeWalker()
      flat_tree = flatten(ast_tree_new, component_ref)
      gen = XmlGenerator()
      ast_walker.walk(gen, flat_tree)
      return etree.tostring(gen.xml[flat_tree], pretty_print=True).decode('utf-8')
docs: :param ast_tree: AST to generate from
      :param model_name: class to generate
      :return: sympy source code for model