/// <summary>
        /// Used to add or update entity permissions during a content item being updated
        /// </summary>
        /// <param name="entity"></param>
        protected override void PersistUpdatedItem(ContentPermissionSet entity)
        {
            var asIEntity = (IEntity)entity;

            if (asIEntity.HasIdentity == false)
            {
                throw new InvalidOperationException("Cannot create permissions for an entity without an Id");
            }

            ReplaceEntityPermissions(entity);
        }
 protected override void PersistDeletedItem(ContentPermissionSet entity)
 {
     throw new WontImplementException();
 }
 /// <summary>
 /// Used to add or update entity permissions during a content item being updated
 /// </summary>
 /// <param name="entity"></param>
 protected override void PersistNewItem(ContentPermissionSet entity)
 {
     //does the same thing as update
     PersistUpdatedItem(entity);
 }
 protected override void PersistDeletedItem(ContentPermissionSet entity)
 {
     throw new InvalidOperationException("This method won't be implemented.");
 }