public AzureTBNService.DataFolderList GetFolderHierarchy(AzureTBNService.RequestForRetrieveFolder folderRequest, out System.Guid requestID)
        {
            AzureTBNService.TriggerRequestNotificationClient client = null;
            AzureTBNService.DataFolderList folderList = null;
            int exceptionCount = 0;

            if (folderRequest == null)
            {
                throw new ArgumentNullException(ErrorExceptionMessagePredicate + RequestNullException);
            }

            if (folderRequest.ExactTargetAccountId <= 0)
            {
                throw new Exception("Invalid AccountId.");
            }


            for (int retryCount = 0; retryCount < retryAttempts; retryCount++)
            {
                try
                {
                    using (client = new AzureTBNService.TriggerRequestNotificationClient(PrimaryEndpoint))
                    {
                        folderList = client.GetFolderHierarchyV2(out requestID, folderRequest);
                    }

                    return(folderList);
                }
                catch (Exception ex)
                {
                    if (client == null)
                    {
                        throw;
                    }

                    exceptionCount++;

                    // Throw exception if maxm retry attempts are exhausted
                    if (exceptionCount == retryAttempts)
                    {
                        throw new Exception(GenericExceptionMessagePredicate + ex.Message.ToString());
                    }
                }
            }
            requestID = Guid.Empty;
            return(folderList);
        }
 public AzureTBNService.DataFolderList GetFolderHierarchy(AzureTBNService.RequestForRetrieveFolder folderRequest)
 {
     System.Guid requestID;
     return(this.GetFolderHierarchy(folderRequest, out requestID));
 }