void SkipField() { if (!io.Read()) { return; } if (!io.IsArray() && !io.IsMap()) { //NOTE: if value is a raw string we need to read all of its data if (io.IsRaw()) { io.ReadRawString(); } return; } uint array_len = io.Length; for (uint i = 0; i < array_len; ++i) { SkipField(); } }