internal static void CopyCustomData(ICollection <ACustomDataValue> origonalCustomData, ICustomData destinationObj) { destinationObj.clearAllFields(); foreach (ACustomDataValue cdv in origonalCustomData) { switch (cdv.GetType().Name) { case "CustomDataValueString": destinationObj.createStringField(cdv.key); break; case "CustomDataValueInt": destinationObj.createIntField(cdv.key); break; default: break; } destinationObj.setValue(cdv.key, cdv.getValue()); } }