public virtual void Save(IConfigurable instance) { if (instance == null) { throw new ArgumentNullException("instance"); } ConfigurableObject configurableObject = instance as ConfigurableObject; if (configurableObject == null) { throw new NotSupportedException("Save: " + instance.GetType().FullName); } ValidationError[] array = configurableObject.Validate(); if (array.Length > 0) { throw new DataValidationException(array[0]); } this.InternalSave(configurableObject); configurableObject.ResetChangeTracking(true); }