public object ToMultiPoint(CoordinateInfo[] coordinates)
		{
			if (coordinates.Length == 0)
				return MultiPoint.Empty;
			return new MultiPoint(coordinates.Select(ToPoint).Cast<Point>());
		}
		public object ToMultiLineString(CoordinateInfo[][] coordinates)
		{
			if (coordinates.Length == 0)
				return MultiLineString.Empty;
			return new MultiLineString(coordinates.Select(ToLineString).Cast<LineString>());
		}
		public object ToLinearRing(CoordinateInfo[] coordinates)
		{
			if (coordinates.Length == 0)
				return LinearRing.Empty;
			return new LinearRing(coordinates.Select(MakeCoordinate));
		}
		public object ToMultiPolygon(CoordinateInfo[][][] coordinates)
		{
			if (coordinates.Length == 0)
				return MultiPolygon.Empty;
			return new MultiPolygon(coordinates.Select(ToPolygon).Cast<Polygon>());
		}
		public object ToMultiPolygon(CoordinateInfo[][][] coordinates)
		{
			if (coordinates.Length == 0)
				return MultiPolygon.Empty;
			return _geometryFactory.CreateMultiPolygon(coordinates.Select(ToPolygon).Cast<IPolygon>().ToArray());
		}
		public object ToMultiLineString(CoordinateInfo[][] coordinates)
		{
			if (coordinates.Length == 0)
				return MultiLineString.Empty;
			return _geometryFactory.CreateMultiLineString(coordinates.Select(ToLineString).Cast<IBasicLineString>().ToArray());
		}
		public object ToLinearRing(CoordinateInfo[] coordinates)
		{
			if (coordinates.Length == 0)
				return LinearRing.Empty;
			return _geometryFactory.CreateLinearRing(coordinates.Select(MakeCoordinate).ToArray());
		}