internal void BeginEditInt()
        {
            if (_orig == null)
            {
                _orig = CreateInstance();

                this.CopyTo(_orig);
            }
        }
        public override void BeginEdit()
        {
            base.BeginEdit();

            if (_modifyableObject == null)
            {
                _modifyableObject = CreateInstance();

                this.CopyTo(_modifyableObject);

                _modifyableObject.BeginEditInt();

                _modifyableObject.EditCanceled += new EventHandler(_modifyableObject_EditCanceled);

                _modifyableObject.EditEnd += new EventHandler(_modifyableObject_EditEnd);
            }
        }
 public abstract void CopyTo(EditableObject ObjectTo);