code: @PUT
      @Path("/reinstateuser")
      @Produces(MediaType.APPLICATION_JSON)
      @Description("Reinstates a suspended user.")
      public Response reinstateUser(@Context HttpServletRequest req,
          @FormParam("username") String userName,
          @FormParam("subsystem") SubSystem subSystem) {
          if (userName == null || userName.isEmpty()) {
              throw new IllegalArgumentException("User name cannot be null or empty.");
          }
          if (subSystem == null) {
              throw new IllegalArgumentException("Subsystem cannot be null.");
          }
          validatePrivilegedUser(req);
  
          PrincipalUser user = userService.findUserByUsername(userName);
  
          if (user == null) {
              throw new WebApplicationException("User does not exist.", Status.BAD_REQUEST);
          }
          managementService.reinstateUser(user, subSystem);
          return Response.status(Status.OK).build();
      }
docs: Reinstates the specified sub system to the user.
  
  @param   req        The HTTP request.
  @param   userName   The user whom the sub system to be reinstated. Cannot be null or empty.
  @param   subSystem  The subsystem to be reinstated. Cannot be null.
  
  @return  Response object indicating whether the operation was successful or not.
  
  @throws  IllegalArgumentException  Throws IllegalArgument exception when the input is not valid.
  @throws  WebApplicationException   Throws this exception if the user does not exist or the user is not authorized to carry out this operation.