CTShapeProperties spPr = (CTShapeProperties)o;
if (spPr.getPrstGeom()==null) {
System.out.println("- this shape not preset");
} else {
STShapeType shapeType = spPr.getPrstGeom().getPrst();
CTCustomGeometry2D customGeo = PresetGeometries.getInstance().get(shapeType.value());
if (customGeo==null) {
System.out.println("- definition MISSING for " + shapeType.value() );
} else if (shapeType.value().equals("leftArrow") ) {
System.out.println("- skipping " + shapeType.value() + " (corrupts pptx)"); // tested 2010 x64; I wonder why
} else {
// really should clone here
spPr.setCustGeom(customGeo);
spPr.setPrstGeom(null);
System.out.println("- " + shapeType.value() + " processed");
}
}