 
             if tokenizer.accept(.COMMA) != nil {
                 if tokenizer.accept(.SINGLE_SPACE) == nil {
-                    throw ParseError.unexpectedToken(errorMessage(tokenizer, expectedToken: .SINGLE_SPACE))
-                }
-            } else {
-                done = true
-            }
-        } while !done
-
-        if tokenizer.accept(.RIGHT_PAREN) == nil {
-            throw ParseError.unexpectedToken(errorMessage(tokenizer, expectedToken: .RIGHT_PAREN))
+                    throw WKTReaderError.unexpectedToken(errorMessage(tokenizer, expectedToken: .SINGLE_SPACE))
+                }
+            } else {
+                done = true
+            }
+        } while !done
+
+        if tokenizer.accept(.RIGHT_PAREN) == nil {
+            throw WKTReaderError.unexpectedToken(errorMessage(tokenizer, expectedToken: .RIGHT_PAREN))
         }
         return MultiPoint<CoordinateType>(elements: elements, precision: precision, coordinateReferenceSystem: crs)
     }

        }

        if tokenizer.accept(.LEFT_PAREN) == nil {
            throw ParseError.unexpectedToken(errorMessage(tokenizer, expectedToken: .LEFT_PAREN))
        }

        let outerRing = try self.linearRingText(tokenizer, require: require)

        }

        if tokenizer.accept(.LEFT_PAREN) == nil {
            throw WKTReaderError.unexpectedToken(errorMessage(tokenizer, expectedToken: .LEFT_PAREN))
        }

        var elements = [Geometry]()
