public bool Copy( IDictionaryAdapter source, IDictionaryAdapter target, ref Func <DictionaryAdapter.PropertyDescriptor, bool> selector ) { if (copying) { return(false); } try { copying = true; // An unwise idea, but it shouldn't cause DA to implode. source.CopyTo(target); source.CopyTo(target); } finally { copying = false; } return(true); }