internal void IterateFields(Dictionary<String, Object> values, Dictionary<String, Object> map, String name)
{
foreach (KeyValuePair<String, Object> entry in map) {
String s = entry.Key;
Object obj = entry.Value;
if (obj is Dictionary<String, Object>)
IterateFields(values, (Dictionary<String, Object>)obj, name + "." + s);
else
values[(name + "." + s).Substring(1)] = obj;
}
}