appearance.setCapability(Appearance.ALLOW_POLYGON_ATTRIBUTES_READ);
appearance.setCapability(Appearance.ALLOW_MATERIAL_READ);
appearance.setCapability(Appearance.ALLOW_MATERIAL_WRITE);
node.setCapability(Shape3D.ALLOW_APPEARANCE_READ);
PolygonAttributes polygonAttributes = appearance.getPolygonAttributes();
if (polygonAttributes == null) {
polygonAttributes = new PolygonAttributes();
appearance.setPolygonAttributes(polygonAttributes);
}
polygonAttributes.setCapability(PolygonAttributes.ALLOW_CULL_FACE_WRITE);
polygonAttributes.setCapability(PolygonAttributes.ALLOW_NORMAL_FLIP_WRITE);
Enumeration<?> enumeration = shape.getAllGeometries();
while (enumeration.hasMoreElements()) {
Geometry geometry = (Geometry) enumeration.nextElement();
if (!geometry.isLive()