public static void CloneAll(
this IEnumerable<ICloner<object, object>> cloners)
{
Contract.Requires(cloners != null);
Contract.Requires(!cloners.Any(cloner => cloner.IsCloned));
Contract.Ensures(cloners.All(cloner => cloner.IsCloned));
foreach(var cloner in cloners) { cloner.Clone(); }
}