public override IEnumerable <IXmlChange> Changes(XmlModel model)
        {
            var vsXmlModel = model as VSXmlModel;

            Debug.Assert(vsXmlModel != null);
            if (vsXmlModel != null)
            {
                var internalModel = vsXmlModel.XmlModel;
                foreach (var modelChange in _editorTransaction.Changes(internalModel))
                {
                    yield return(GetXmlChange(modelChange));
                }
            }
        }
 /// <summary>
 ///     This API supports the Entity Framework infrastructure and is not intended to be used directly from your code.
 /// </summary>
 /// <param name="model">This API supports the Entity Framework infrastructure and is not intended to be used directly from your code.</param>
 /// <returns>This API supports the Entity Framework infrastructure and is not intended to be used directly from your code.</returns>
 public abstract IEnumerable<IXmlChange> Changes(XmlModel model);
 /// <summary>
 ///     This API supports the Entity Framework infrastructure and is not intended to be used directly from your code.
 /// </summary>
 /// <param name="model">This API supports the Entity Framework infrastructure and is not intended to be used directly from your code.</param>
 /// <returns>This API supports the Entity Framework infrastructure and is not intended to be used directly from your code.</returns>
 public abstract IEnumerable <IXmlChange> Changes(XmlModel model);
 public override IEnumerable<IXmlChange> Changes(XmlModel model)
 {
     var vsXmlModel = model as VSXmlModel;
     Debug.Assert(vsXmlModel != null);
     if (vsXmlModel != null)
     {
         var internalModel = vsXmlModel.XmlModel;
         foreach (var modelChange in _editorTransaction.Changes(internalModel))
         {
             yield return GetXmlChange(modelChange);
         }
     }
 }