private static void MemberDictionaryClone( Dictionary <SignatureKey, object> source, Dictionary <SignatureKey, object> target) { foreach (var item in source) { if (item.Value is Delegate) { var del = item.Value as Delegate; var copy = del.Clone(); target.Add(item.Key, copy); } else { var copy = SerializationExtensions.FromBinary(item.Value.ToBinary()); target.Add(item.Key, copy); } } }