code: private static ShapeType getShapeTypeFromGeometryMetaData(GeometryMetaData meta) throws SQLException {
          ShapeType shapeType;
          switch (meta.geometryType) {
              case GeometryTypeCodes.MULTILINESTRING:
              case GeometryTypeCodes.LINESTRING:
              case GeometryTypeCodes.MULTILINESTRINGM:
              case GeometryTypeCodes.LINESTRINGM:
              case GeometryTypeCodes.MULTILINESTRINGZ:
              case GeometryTypeCodes.LINESTRINGZ:
                  shapeType = meta.hasZ ? ShapeType.ARCZ : ShapeType.ARC;
                  break;
              case GeometryTypeCodes.POINT:
                  shapeType = meta.hasZ ? ShapeType.POINTZ  : ShapeType.POINT;
                  break;
              case GeometryTypeCodes.MULTIPOINT:
                  shapeType = meta.hasZ ? ShapeType.MULTIPOINTZ : ShapeType.MULTIPOINT;
                  break;
              case GeometryTypeCodes.POLYGON:
              case GeometryTypeCodes.MULTIPOLYGON:
                  shapeType = meta.hasZ ? ShapeType.POLYGONZ : ShapeType.POLYGON;
                  break;
              default:
                  return null;
          }
          return shapeType;
      }
docs: Return the shape type supported by the shapefile format
  @param meta
  @return
  @throws SQLException