public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            var o = serializer.Deserialize<JArray>(reader);
            var lineStringConverter = new LineStringJsonConverter();
            var lineStrings =
                o.Select(
                    lineString => lineStringConverter.ReadJson(lineString.CreateReader(), typeof(LineString), lineString, serializer)).Cast<LineString>().ToList();

            return new Polygon(lineStrings);
        }
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            var o = serializer.Deserialize <JArray>(reader);
            var lineStringConverter = new LineStringJsonConverter();
            var lineStrings         =
                o.Select(
                    lineString => lineStringConverter.ReadJson(lineString.CreateReader(), typeof(LineString), lineString, serializer)).Cast <LineString>().ToList();

            return(new Polygon(lineStrings));
        }