void loadObjects(Document xmlDoc) throws Exception {
		Rectangle truck=panelWorkplace.truck.getBounds();

		
		panelLibrary.destroyLiraryTable();

		boolean libraryModified=false;
		///first add containers to library, if missing
		NodeList nodeList=xmlDoc.getElementsByTagName("container"); //$NON-NLS-1$
		for(int i=0; i<nodeList.getLength(); i++) {
			Element e=(Element)nodeList.item(i);
			String size1=((Element)e.getElementsByTagName("size1").item(0)).getTextContent(); //$NON-NLS-1$
			String size2=((Element)e.getElementsByTagName("size2").item(0)).getTextContent(); //$NON-NLS-1$
			String name=((Element)e.getElementsByTagName("name").item(0)).getTextContent(); //$NON-NLS-1$
			String sap=((Element)e.getElementsByTagName("sap").item(0)).getTextContent(); //$NON-NLS-1$
			String weight=((Element)e.getElementsByTagName("weight").item(0)).getTextContent(); //$NON-NLS-1$

			String rotated=((Element)e.getElementsByTagName("rotated").item(0)).getTextContent(); //$NON-NLS-1$
			String mandatory=((Element)e.getElementsByTagName("mandatory").item(0)).getTextContent(); //$NON-NLS-1$
			String x=((Element)e.getElementsByTagName("x").item(0)).getTextContent(); //$NON-NLS-1$
			String y=((Element)e.getElementsByTagName("y").item(0)).getTextContent(); //$NON-NLS-1$

			Container c1=new Container(
					name,
					sap,
					new Dimension(Integer.parseInt(size1),Integer.parseInt(size2)),
					Integer.parseInt(weight)
			);

			ContainerComponent component=null;
			for(Container c2:Library.getContainers()) {
				if(c2.toXml().equals(c1.toXml())) {
					component=panelWorkplace.addContainer(c2,true);
					break;
				}
			} 
			if(component==null) {
				libraryModified=true;
				Library.getContainers().add(c1);
				component=panelWorkplace.addContainer(c1,true);
			}
			if(new Boolean(rotated).booleanValue()) {
				component.rotate();
			}
			if(new Boolean(mandatory).booleanValue()) {
				component.mandatory=true;
			}
			//place component to original position
			double xPos=new Double(x).doubleValue();
			double yPos=new Double(y).doubleValue();
			
			//recompute the position to pixels, position is relative to truc origin
			xPos=xPos*preferences.getGuiPixelsPerMeter()/1000;
			yPos=yPos*preferences.getGuiPixelsPerMeter()/1000;
			
			xPos+=truck.x;
			yPos+=truck.y;
			component.setLocation((int) xPos, (int)yPos);
		}
		panelLibrary.createLibraryTable();

		if(libraryModified) {
			for(DocumentFrame doc:loadOrganizer.openDocuments) {
				doc.panelLibrary.destroyLiraryTable();
				doc.panelLibrary.createLibraryTable();
			}
		}
		panelWorkplace.computeInfo();
		panelWorkplace.getVerticalScrollBar().setValue(0);
		panelWorkplace.getHorizontalScrollBar().setValue(0);
	}