public static T FieldwiseClone <T> (this T template) where T : new()
    {
        var target = new T();

        CopyoverCache <T> .Copyover(template, target);

        return(target);
    }
 public static void CopyFieldsFrom <T> (this T target, T template)
 {
     CopyoverCache <T> .Copyover(template, target);
 }