/// <inheritdoc />
        public async Task <IEnumerable <ApplicationContainerDetails> > ListApplicationContainersAsync(ApplicationAttemptDetails applicationAttempt)
        {
            ApplicationContainerListResult containerListResult = await this.readProxy.ListApplicationContainersAsync(applicationAttempt.ParentApplication.ApplicationId, applicationAttempt.ApplicationAttemptId);

            ApplicationContainerList containers = new ApplicationContainerList(containerListResult, applicationAttempt);

            return(containers.Containers);
        }
        /// <summary>
        /// Initializes a new instance of the ApplicationContainerList class.
        /// </summary>
        /// <param name="containerListResult">
        /// Result of a REST call, containing list of application containers.
        /// </param>
        /// <param name="parentApplicationAttempt">
        /// The parent ApplicationAttemptDetails object.
        /// </param>
        internal ApplicationContainerList(ApplicationContainerListResult containerListResult, ApplicationAttemptDetails parentApplicationAttempt)
        {
            if (containerListResult == null)
            {
                throw new ArgumentNullException("containerListResult");
            }

            if (parentApplicationAttempt == null)
            {
                throw new ArgumentNullException("parentApplicationAttempt");
            }

            this.Containers = containerListResult.Containers.Select(containerResult => new ApplicationContainerDetails(containerResult, parentApplicationAttempt));
        }
        /// <summary>
        /// Initializes a new instance of the ApplicationContainerList class.
        /// </summary>
        /// <param name="containerListResult">
        /// Result of a REST call, containing list of application containers.
        /// </param>
        /// <param name="parentApplicationAttempt">
        /// The parent ApplicationAttemptDetails object.
        /// </param>
        internal ApplicationContainerList(ApplicationContainerListResult containerListResult, ApplicationAttemptDetails parentApplicationAttempt)
        {
            if (containerListResult == null)
            {
                throw new ArgumentNullException("containerListResult");
            }

            if (parentApplicationAttempt == null)
            {
                throw new ArgumentNullException("parentApplicationAttempt");
            }

            this.Containers = containerListResult.Containers.Select(containerResult => new ApplicationContainerDetails(containerResult, parentApplicationAttempt));
        }