public User Get(string id, string fields)
        {
            using (PoolItem <DirectoryService> connection = this.directoryServicePool.Take(NullValueHandling.Ignore))
            {
                UserGetRequest request = new UserGetRequest(connection.Item, id);

                if (fields != null)
                {
                    request.Fields     = fields;
                    request.Projection = UserGetRequest.ProjectionEnum.Custom;
                }
                else
                {
                    request.Projection = UserGetRequest.ProjectionEnum.Full;
                }

                return(request.ExecuteWithRetryOnBackoff());
            }
        }