@Override
 protected List<MaterialAssignmentTemplate> getAssignments() {
   return new ArrayList<>(template.getMaterialAssignments());
 }
 @Override
 public void removeMaterialAssignment(MaterialAssignmentTemplate materialAssignment) {
   template.removeMaterialAssignment(materialAssignment);
 }
 @Override
 protected MaterialCategory addAssignment(MaterialAssignmentTemplate materialAssignment) {
   template.addMaterialAssignment(materialAssignment);
   return materialAssignment.getMaterial().getCategory();
 }
 public void initialize(OrderElementTemplate template) {
   if ((template != null) && (!template.isNewObject())) {
     orderElements = new ArrayList<OrderElement>(orderElementDAO.findByTemplate(template));
     initialize(orderElements);
   }
 }