/// <summary>
        /// <para>Initializes a new instance of the <see
        /// cref="SharingChangeFolderJoinPolicyDetails" /> class.</para>
        /// </summary>
        /// <param name="newValue">New external join policy.</param>
        /// <param name="previousValue">Previous external join policy. Might be missing due to
        /// historical data gap.</param>
        public SharingChangeFolderJoinPolicyDetails(ExternalSharingPolicy newValue,
                                                    ExternalSharingPolicy previousValue = null)
        {
            if (newValue == null)
            {
                throw new sys.ArgumentNullException("newValue");
            }

            this.NewValue      = newValue;
            this.PreviousValue = previousValue;
        }
        /// <summary>
        /// <para>Initializes a new instance of the <see
        /// cref="SharedFolderChangeMemberPolicyDetails" /> class.</para>
        /// </summary>
        /// <param name="targetIndex">Target asset index.</param>
        /// <param name="originalFolderName">Original shared folder name.</param>
        /// <param name="newValue">New external invite policy.</param>
        /// <param name="sharedFolderType">Shared folder type. Might be missing due to
        /// historical data gap.</param>
        /// <param name="previousValue">Previous external invite policy. Might be missing due
        /// to historical data gap.</param>
        public SharedFolderChangeMemberPolicyDetails(long targetIndex,
                                                     string originalFolderName,
                                                     ExternalSharingPolicy newValue,
                                                     string sharedFolderType             = null,
                                                     ExternalSharingPolicy previousValue = null)
        {
            if (originalFolderName == null)
            {
                throw new sys.ArgumentNullException("originalFolderName");
            }

            if (newValue == null)
            {
                throw new sys.ArgumentNullException("newValue");
            }

            this.TargetIndex        = targetIndex;
            this.OriginalFolderName = originalFolderName;
            this.NewValue           = newValue;
            this.SharedFolderType   = sharedFolderType;
            this.PreviousValue      = previousValue;
        }