object DeserializeArray(JsonTokenizer tokenizer, Type elementType)
        {
            if (!tokenizer.BeginReadArray())
            {
                return(Array.CreateInstance(elementType, 0));
            }

            var list = new List <object>();

            DeserializeCollection(tokenizer, elementType, list.Add);

            int c   = list.Count;
            var res = Array.CreateInstance(elementType, c);

            for (int i = 0; i < c; i++)
            {
                res.SetValue(list[i], i);
            }

            return(res);
        }