/// <summary>
        /// Create a new PushRoamingNetworkAdminStatus result.
        /// </summary>
        /// <param name="AuthId">The unqiue identification of the authenticator.</param>
        /// <param name="IReceiveAdminStatus">An object implementing IReceiveAdminStatus.</param>
        /// <param name="Result">The result of the operation.</param>
        /// <param name="Description">An optional description of the result code.</param>
        /// <param name="RejectedRoamingNetworkAdminStatusUpdates">An enumeration of rejected RoamingNetwork status updates.</param>
        /// <param name="Warnings">Warnings or additional information.</param>
        /// <param name="Runtime">The runtime of the request.</param>
        internal PushRoamingNetworkAdminStatusResult(IId AuthId,
                                                     IReceiveAdminStatus IReceiveAdminStatus,
                                                     PushRoamingNetworkAdminStatusResultTypes Result,
                                                     String Description = null,
                                                     IEnumerable <RoamingNetworkAdminStatusUpdate> RejectedRoamingNetworkAdminStatusUpdates = null,
                                                     IEnumerable <Warning> Warnings = null,
                                                     TimeSpan?Runtime = null)

            : this(AuthId,
                   Result,
                   Description,
                   RejectedRoamingNetworkAdminStatusUpdates,
                   Warnings,
                   Runtime)

        {
            this.IReceiveAdminStatus = IReceiveAdminStatus;
        }
        /// <summary>
        /// Create a new PushRoamingNetworkAdminStatus result.
        /// </summary>
        /// <param name="AuthId">The unqiue identification of the authenticator.</param>
        /// <param name="Result">The result of the operation.</param>
        /// <param name="Description">An optional description of the result code.</param>
        /// <param name="RejectedRoamingNetworkAdminStatusUpdates">An enumeration of rejected RoamingNetwork status updates.</param>
        /// <param name="Warnings">Warnings or additional information.</param>
        /// <param name="Runtime">The runtime of the request.</param>
        private PushRoamingNetworkAdminStatusResult(IId AuthId,
                                                    PushRoamingNetworkAdminStatusResultTypes Result,
                                                    String Description = null,
                                                    IEnumerable <RoamingNetworkAdminStatusUpdate> RejectedRoamingNetworkAdminStatusUpdates = null,
                                                    IEnumerable <Warning> Warnings = null,
                                                    TimeSpan?Runtime = null)
        {
            this.AuthId = AuthId;
            this.Result = Result;

            this.Description = Description.IsNotNullOrEmpty()
                                                       ? Description.Trim()
                                                       : null;

            this.RejectedRoamingNetworkAdminStatusUpdates = RejectedRoamingNetworkAdminStatusUpdates != null
                                                       ? RejectedRoamingNetworkAdminStatusUpdates.Where(evse => evse != null)
                                                       : new RoamingNetworkAdminStatusUpdate[0];

            this.Warnings = Warnings != null
                                                       ? Warnings.Where(warning => warning.IsNotNullOrEmpty())
                                                       : new Warning[0];

            this.Runtime = Runtime;
        }