code: @GET
      @Produces(MediaType.APPLICATION_JSON)
      @Path("/id/{userId}")
      @Description("Returns the user having the given ID.")
      public PrincipalUserDto getUserById(@Context HttpServletRequest req,
          @PathParam("userId") final BigInteger userId) {
          if (userId == null || userId.compareTo(BigInteger.ZERO) < 1) {
              throw new WebApplicationException("User Id cannot be null and must be a positive non-zero number.", Status.BAD_REQUEST);
          }
  
          PrincipalUser remoteUser = validateAndGetOwner(req, null);
          PrincipalUser user = _uService.findUserByPrimaryKey(userId);
  
          if (user != null) {
              super.validateResourceAuthorization(req, user, remoteUser);
              return PrincipalUserDto.transformToDto(user);
          }
          throw new WebApplicationException(Response.Status.NOT_FOUND.getReasonPhrase(), Response.Status.NOT_FOUND);
      }
docs: Returns the user having the given ID.
  
  @param   req     The HTTP request.
  @param   userId  The user ID to retrieve
  
  @return  The corresponding user DTO.
  
  @throws  WebApplicationException  If an error occurs.