ObjectDatabase ToObjDb() { ObjectDatabase res = new ObjectDatabase(); foreach (var entry in Objs) { string desc = ""; if (entry.Value.LinkedObjs != null) { desc = "can contain links "; foreach (var e in entry.Value.LinkedObjs) { desc += e.Key + " [" + string.Join(";", e.Value) + "] "; } } if (entry.Value.ArrWarn != null) { desc += "Can contain array nodes [" + string.Join(";", entry.Value.ArrWarn) + "] "; } if (entry.Value.DictWarn != null) { desc += "Can contain dictionary nodes [" + string.Join(";", entry.Value.DictWarn) + "] "; } desc = desc.Trim(); if (desc == "") { desc = null; } res.Add(entry.Key, new ObjectDatabaseEntry() { Properties = entry.Value.Properties.Count == 0 ? null : entry.Value.Properties, Description = desc, ParameterConfigName = entry.Value.ParameterConfigName, ModelNames = entry.Value.ModelNames.Count == 0 ? null : entry.Value.ModelNames.ToArray() }); } return(res); }