/// <summary>
        /// Writes the permission to json.
        /// </summary>
        /// <param name="jsonProperty">The json property.</param>
        /// <param name="elementName">Name of the element.</param>
        private void WritePermissionToJson(JsonObject jsonProperty, string elementName)
        {
            DelegateFolderPermissionLevel delegateFolderPermissionLevel = this.delegateFolderPermissions[elementName].PermissionLevel;

            // UpdateDelegate fails if Custom permission level is round tripped
            //
            if (delegateFolderPermissionLevel != DelegateFolderPermissionLevel.Custom)
            {
                jsonProperty.Add(elementName, delegateFolderPermissionLevel);
            }
        }
        /// <summary>
        /// Write permission to Xml.
        /// </summary>
        /// <param name="writer">The writer.</param>
        /// <param name="xmlElementName">The element name.</param>
        private void WritePermissionToXml(
            EwsServiceXmlWriter writer,
            string xmlElementName)
        {
            DelegateFolderPermissionLevel delegateFolderPermissionLevel = this.delegateFolderPermissions[xmlElementName].PermissionLevel;

            // UpdateDelegate fails if Custom permission level is round tripped
            //
            if (delegateFolderPermissionLevel != DelegateFolderPermissionLevel.Custom)
            {
                writer.WriteElementValue(
                    XmlNamespace.Types,
                    xmlElementName,
                    delegateFolderPermissionLevel);
            }
        }
 /// <summary>
 /// Intializes this DelegateFolderPermission.
 /// </summary>
 /// <param name="permissionLevel">The DelegateFolderPermissionLevel</param>
 internal void Initialize(DelegateFolderPermissionLevel permissionLevel)
 {
     this.PermissionLevel = permissionLevel;
     this.IsExistingPermissionLevelCustom = permissionLevel == DelegateFolderPermissionLevel.Custom;
 }
 /// <summary>
 /// Intializes this DelegateFolderPermission.
 /// </summary>
 /// <param name="permissionLevel">The DelegateFolderPermissionLevel</param>
 internal void Initialize(DelegateFolderPermissionLevel permissionLevel)
 {
     this.PermissionLevel = permissionLevel;
     this.IsExistingPermissionLevelCustom = permissionLevel == DelegateFolderPermissionLevel.Custom;
 }