/// <summary>
 /// Handle changes to the EntityTree table. Track relevant changes to the entity hiearchy.
 /// </summary>
 /// <param name="sender">The originator of the event.</param>
 /// <param name="eventArgs">The event arguments.</param>
 private void OnEntityTreeChanged(object sender, EntityTreeRowChangeEventArgs eventArgs)
 {
     // If one of our ancestors moved in the entity tree, we'll need to rebuild our entity list (because we've effectively been moved) and
     // update our fields.
     if (this.live &&
         eventArgs.Action == DataRowAction.Commit &&
         eventArgs.Row.RowState != DataRowState.Detached &&
         this.ancestors.Contains(eventArgs.Row.ChildId))
     {
         this.Construct();
     }
 }
 /// <summary>
 /// Handles a change to the EntityTree table.
 /// </summary>
 /// <param name="sender">The object that originated the event.</param>
 /// <param name="e">The event arguments.</param>
 private void OnEntityTreeRowChanged(object sender, EntityTreeRowChangeEventArgs e)
 {
     // When the merge is completed, this indicates that the document should be refreshed.
     this.isDataChanged = true;
 }