             tokenizer.accept(.WHITE_SPACE)
             
             if tokenizer.accept(.RIGHT_PAREN) == nil {
-                throw ParseError.UnexpectedToken("Unexpected token at line: \(tokenizer.line) column: \(tokenizer.column).  Expected \(Token.RIGHT_PAREN) but found -> \(tokenizer.stringStream)")
+                throw ParseError.UnexpectedToken(errorMessage(tokenizer, expectedToken: Token.RIGHT_PAREN))
             }
             
             return LineString<CoordinateType>(elements: coordinates)

        } else {
            
            if tokenizer.accept(.LEFT_PAREN) == nil {
                throw ParseError.UnexpectedToken("Unexpected token at line: \(tokenizer.line) column: \(tokenizer.column).  Expected \(Token.LEFT_PAREN) but found -> \(tokenizer.stringStream)")
            }
            
            let coordinate = try self.coordinate(tokenizer)

        } else {
        
            if tokenizer.accept(.LEFT_PAREN) == nil {
                throw ParseError.UnexpectedToken(errorMessage(tokenizer, expectedToken: Token.LEFT_PAREN))
            }
            
            var coordinates = [CoordinateType]()
