/// <inheritdoc/>
 protected override Provider VisitIndex(IndexProvider provider)
 {
     OnRecursionEntrance(provider);
     OnRecursionExit(provider);
     return(provider);
 }
 /// <summary>
 /// Visits <see cref="IndexProvider"/>.
 /// </summary>
 /// <param name="provider">Index provider.</param>
 protected abstract Provider VisitIndex(IndexProvider provider);