Class geometryType = getTargetGeometryType(result);
if(Polygon.class.isAssignableFrom(geometryType) ||
MultiPolygon.class.isAssignableFrom(geometryType)) {
// we know it's a polygon type, but there is no polygon symbolizer, add one
// in the current rule
copy.symbolizers().add(sb.createPolygonSymbolizer());
} else if(geometryType.equals(Geometry.class)) {
// dynamic, we need to add an extra rule then to paint as polygon
// only if the actual geometry is a polygon type
Filter polygon = ff.equal(ff.function("geometryType", geom), ff.literal("Polygon"), false);
Filter multiPolygon = ff.equal(ff.function("geometryType", geom), ff.literal("MultiPolygon"), false);