23              GeometryFactory fac=
new GeometryFactory();
 
   24                  if(collection.getNumGeometries()==1) {
 
   25                 Geometry singlegeom=collection.getGeometryN(0);
 
   27              }
else if(collection.getNumGeometries()==0) {
 
   30                 switch(collection.getGeometryN(0).getGeometryType()) {
 
   32                         List<Coordinate> coords=
new ArrayList<Coordinate>();
 
   33                         for(
int i=0;i<collection.getNumGeometries();i++) {
 
   34                                 for(Coordinate coord2:collection.getGeometryN(i).getCoordinates()) {
 
   38                         return fac.createMultiPointFromCoords(coords.toArray(
new Coordinate[0]));
 
   40                         List<LineString> lines=
new ArrayList<LineString>();
 
   41                         for(
int i=0;i<collection.getNumGeometries();i++) {
 
   42                                         lines.add((LineString)collection.getGeometryN(i));
 
   44                         return fac.createMultiLineString(lines.toArray(
new LineString[0]));
 
   46                         List<Polygon> polys=
new ArrayList<Polygon>();
 
   47                         for(
int i=0;i<collection.getNumGeometries();i++) {
 
   48                                         polys.add((Polygon)collection.getGeometryN(i));
 
   50                         return fac.createMultiPolygon(polys.toArray(
new Polygon[0]));