public User Update(User item, string userKey)
        {
            if (item.Creating)
            {
                return(this.Add(item));
            }

            using (PoolItem <DirectoryService> connection = this.directoryServicePool.Take(NullValueHandling.Include))
            {
                UserUpdateRequest request = new UserUpdateRequest(connection.Item, item, userKey);
                return(request.ExecuteWithRetryOnBackoff());
            }
        }