//rendered bottom to top
//TODO: known bug: if a storage object is within a bigger normal box, it will be overwritten in the main drawing loop
//(BUT this is not possible since tags are applied to all shapes overlaping shapes)
Collections.sort(storageShapes, new Shape3DOrderingComparator());
g2.setStroke(normalStroke);
shapesIt = storageShapes.iterator();
while(shapesIt.hasNext()){
DiagramShape shape = (DiagramShape) shapesIt.next();