# for each step of the components route find out if it is of a design route (ENG - CAD) or of mould route (ASSM-INJM). If the route contains none of these technology-types steps then the component is normal
routeList=copy.deepcopy(route)
i=0
# figure out which steps are design steps
forstepinrouteList:
stepTechnology=step.get('technology',[])
assertstepTechnologyinself.ROUTE_STEPS_SET,'the technology provided does not exist'
ifstepTechnologyinself.DESIGN_ROUTE_STEPS_SET:
design_step_list.append(step)
route.pop(i)
else:
i+=1
# if the current entity is a mold-design then create the design and update the _class attribute of the mold