/// <summary>
 /// Returns an enumerator that iterates through the collection.
 /// </summary>
 /// <returns>
 /// A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
 /// </returns>
 /// <filterpriority>1</filterpriority>
 public IEnumerator <TData> GetEnumerator()
 {
     Logger.LogDebug("Getting the enumerator for an Azure database query", "AzureDocumentDbDataStore\\GetEnumerator");
     try
     {
         DateTime            start  = DateTime.Now;
         IEnumerator <TData> result = AzureDocumentDbHelper.ExecuteFaultTollerantFunction(() => AzureDocumentDbQuery.GetEnumerator());
         DateTime            end    = DateTime.Now;
         Logger.LogDebug(string.Format("Getting the enumerator for an Azure database query took {0}", end - start), "AzureDocumentDbDataStore\\GetEnumerator");
         return(result);
     }
     finally
     {
         Logger.LogDebug("Getting the enumerator for an Azure database query... Done", "AzureDocumentDbDataStore\\GetEnumerator");
     }
 }
 /// <summary>
 /// Returns the instance as an <see cref="IEnumerable{T}"/>.
 /// </summary>
 /// <returns></returns>
 public IEnumerable <TData> AsEnumerable()
 {
     return(AzureDocumentDbQuery.AsEnumerable());
 }