docs: def build_structure(self, component, runnable, structure):
          """
          Adds structure to a runnable component based on the structure
          specifications in the component model.
  
          @param component: Component model containing structure specifications.
          @type component: lems.model.component.FatComponent
  
          @param runnable: Runnable component to which structure is to be added.
          @type runnable: lems.sim.runnable.Runnable
  
          @param structure: The structure object to be used to add
          structure code in the runnable component.
          @type structure: lems.model.structure.Structure
          """
          if self.debug: print("\n++++++++ Calling build_structure of %s with runnable %s, parent %s"%(component.id, runnable.id, runnable.parent))
          
          # Process single-child instantiations
          for ch in structure.child_instances:
              child_runnable = self.build_runnable(ch.referenced_component, runnable)
              runnable.add_child(child_runnable.id, child_runnable)
  
              runnable.add_child_typeref(ch.component, child_runnable)
              
          # Process multi-child instatiantions
          for mi in structure.multi_instantiates:
              template = self.build_runnable(mi.component,
                                             runnable)
  
              for i in range(mi.number):
                  #instance = copy.deepcopy(template)
                  instance = template.copy()
                  instance.id = "{0}__{1}__{2}".format(component.id,
                                                       template.id,
                                                       i)
                  runnable.array.append(instance)
  
          # Process foreach statements
          for fe in structure.for_eachs:
              self.build_foreach(component, runnable, fe)
          
          self.build_event_connections(component, runnable, structure)