namespace Chernobyl { /// <summary> /// Allows an object to create a "deep" copy of itself. See /// http://en.wikipedia.org/wiki/Deep_copy#Deep_copy for more information /// on deep copying. /// </summary> /// <typeparam name="T"></typeparam> public interface IDeepCloneable<T> { /// <summary> /// Creates a new instance that is a deep copy of this instance. /// </summary> /// <returns>The new shallow copied instance.</returns> T DeepClone(); } }