def __init__(self, env: simpy.Environment, logger: logging.Logger, construct_id: str, systemModel: dict, structureItem: dict):
    from .branch import Branch
    from .function import Function
    from .loop import Loop
    from .parallel import Parallel
    from .select import Select
    import simapp
    self.env = env
    self.logger = logger
    self.construct_id = construct_id
    self.systemModel = systemModel
    self.structureItem = structureItem
    self.structureItems = list()
    self.structureType = ''
    self.name = ''
    for (num, struct) in enumerate(self.structureItem['structure'], start=1):
        next_construct_id = ((self.construct_id + '.') + str(num))
        if (struct['type'] == 'Branch'):
            self.structureItems.append(Branch(self.env, self.logger, next_construct_id, self.systemModel, struct))
        elif (struct['type'] == 'Function'):
            try:
                override_class = getattr(simapp, struct['referenceName'].capitalize())
                self.structureItems.append(override_class(self.env, self.logger, next_construct_id, self.systemModel, struct))
            except AttributeError:
                self.structureItems.append(Function(self.env, self.logger, next_construct_id, self.systemModel, struct))
        elif (struct['type'] == 'Loop'):
            self.structureItems.append(Loop(self.env, self.logger, next_construct_id, self.systemModel, struct))
        elif (struct['type'] == 'Parallel'):
            self.structureItems.append(Parallel(self.env, self.logger, next_construct_id, self.systemModel, struct))
        elif (struct['type'] == 'Select'):
            self.structureItems.append(Select(self.env, self.logger, next_construct_id, self.systemModel, struct))
def __init__(self, env: simpy.Environment, logger: logging.Logger, construct_id: str, systemModel: dict, structureItem: dict):
    from .branch import Branch
    from .function import Function
    from .loop import Loop
    from .parallel import Parallel
    from .select import Select
    import simapp
    self.env = env
    self.logger = logger
    self.construct_id = construct_id
    self.systemModel = systemModel
    self.structureItem = structureItem
    self.structureItems = list()
    self.structureType = 
    self.name = 
    for (num, struct) in enumerate(self.structureItem['structure'], start=1):
        next_construct_id = ((self.construct_id + '.') + str(num))
        if (struct['type'] == 'Branch'):
            self.structureItems.append(Branch(self.env, self.logger, next_construct_id, self.systemModel, struct))
        elif (struct['type'] == 'Function'):
            try:
                override_class = getattr(simapp, struct['referenceName'].capitalize())
                self.structureItems.append(override_class(self.env, self.logger, next_construct_id, self.systemModel, struct))
            except AttributeError:
                self.structureItems.append(Function(self.env, self.logger, next_construct_id, self.systemModel, struct))
        elif (struct['type'] == 'Loop'):
            self.structureItems.append(Loop(self.env, self.logger, next_construct_id, self.systemModel, struct))
        elif (struct['type'] == 'Parallel'):
            self.structureItems.append(Parallel(self.env, self.logger, next_construct_id, self.systemModel, struct))
        elif (struct['type'] == 'Select'):
            self.structureItems.append(Select(self.env, self.logger, next_construct_id, self.systemModel, struct))