/// <summary>
 /// Cancels an edit.
 /// </summary>
 public void CancelEdit()
 {
     if (this.oldDataClass != null)
     {
         this.BoolProperty = this.oldDataClass.boolProperty;
         this.DateTimeProperty = this.oldDataClass.dateTimeProperty;
         this.IntProperty = this.oldDataClass.intProperty;
         this.IntPropertyWithoutAutoGenerateField = this.oldDataClass.intPropertyWithoutAutoGenerateField;
         this.NonGeneratedIntProperty = this.oldDataClass.nonGeneratedIntProperty;
         this.StringProperty = this.oldDataClass.stringProperty;
         this.UneditableTypeProperty = this.oldDataClass.uneditableTypeProperty;
         this.oldDataClass = null;
     }
 }
 /// <summary>
 /// Begins an edit.
 /// </summary>
 public void BeginEdit()
 {
     if (this.oldDataClass == null)
     {
         this.oldDataClass = new DataClassWithUneditableType();
         this.oldDataClass.boolProperty = this.boolProperty;
         this.oldDataClass.dateTimeProperty = this.dateTimeProperty;
         this.oldDataClass.intProperty = this.intProperty;
         this.oldDataClass.intPropertyWithoutAutoGenerateField = this.intPropertyWithoutAutoGenerateField;
         this.oldDataClass.nonGeneratedIntProperty = this.nonGeneratedIntProperty;
         this.oldDataClass.stringProperty = this.stringProperty;
         this.oldDataClass.uneditableTypeProperty = this.uneditableTypeProperty;
     }
 }