public PropertyBag Copy(EPropAssoc assoc) { PropertyBag result = new PropertyBag(); foreach (var pd in PropEnum.EnumProps(typeof(EXilinxProjectProperties))) { EXilinxProjectProperties key = (EXilinxProjectProperties)pd.EnumValue; object value; if (pd.IDs.ContainsKey(assoc) && Properties.TryGetValue(key, out value)) result.PutProperty(key, value); } return result; }