protected static Geometry transformGeometryCollection(
     CoordinateTransform ct, GeometryCollection geometryCollection) throws Exception {
   Geometry[] geometry = new Geometry[geometryCollection.getNumGeometries()];
   for (int i = 0; i < geometry.length; ++i) {
     geometry[i] = transformGeometry(ct, geometryCollection.getGeometryN(i));
   }
   return geometryCollection.getFactory().createGeometryCollection(geometry);
 }