I am creating my own spatial context by wrapping the objects in lucene geo3d library and implement my own query which mixes the recursive and the serialized strategy to add precision to searches.
I had the following issue specially with polygons: The factory for creating polygons is slow and when serializing shapes, I already know if I am dealing with convex or concave polygons (in my case they are always concave). So when de-serializing a polygon I do not want to go through the factory to decide the type of polygon to create.
Wouldn't make sense to add the possibility to create a type of polygon directly? you cannot create the polygons directly as they are protected in the package. My suggestion request would be either to add methods in the polygon factory to create a type of polygons with no checking (e.g. makeConcavePolygon(…)) or change the visibility of the classes so that they can be instantiated directly.