/// <inheritdoc />
 public void DownloadApplicationLogs(ApplicationContainerDetails applicationContainer, string targetDirectory)
 {
     this.DownloadApplicationLogs(applicationContainer, targetDirectory, this.timeout);
 }
 /// <inheritdoc />
 public void DownloadApplicationLogs(ApplicationContainerDetails applicationContainer, string targetDirectory, TimeSpan timeout)
 {
     this.DownloadApplicationLogsAsync(applicationContainer, targetDirectory).WaitForResult(timeout);
 }
        /// <inheritdoc />
        public async Task DownloadApplicationLogsAsync(ApplicationContainerDetails applicationContainer, string targetDirectory)
        {
            applicationContainer.ArgumentNotNull("container");
            targetDirectory.ArgumentNotNullOrEmpty("targetDirectory");

            await DownloadApplicationLogsAsync(
                applicationContainer.ParentApplicationAttempt.ParentApplication.ApplicationId, 
                applicationContainer.ParentApplicationAttempt.ParentApplication.User, 
                applicationContainer.ContainerId, 
                applicationContainer.NodeId, 
                targetDirectory);
        }