internal void ConfigureCollection(ICatalogCollection coll, IConfigCallback cb) { bool flag = false; SecurityPermission permission = new SecurityPermission(SecurityPermissionFlag.UnmanagedCode); permission.Demand(); permission.Assert(); foreach (object obj2 in cb) { object a = cb.FindObject(coll, obj2); cb.ConfigureDefaults(a, obj2); } SaveChanges(coll); flag = false; foreach (object obj4 in cb) { object obj5 = cb.FindObject(coll, obj4); if (cb.Configure(obj5, obj4)) { flag = true; } } SaveChanges(coll); flag = false; foreach (object obj6 in cb) { object obj7 = cb.FindObject(coll, obj6); if (cb.AfterSaveChanges(obj7, obj6)) { flag = true; } } if (flag) { SaveChanges(coll); } cb.ConfigureSubCollections(coll); }