code: @Override
    public Response toResponse(Throwable exception) {
  
      logger.error("An unhandled exception was thrown.", exception);
  
      return Response
          .status(INTERNAL_SERVER_ERROR)
          .entity(
              JsonError.builder()
                  .code(INTERNAL_SERVER_ERROR.getStatusCode())
                  .message(INTERNAL_SERVER_ERROR.getReasonPhrase())
                  .build())
          .type(MediaType.APPLICATION_JSON)
          .build();
    }
docs: Maps an unhandled {@link Throwable} to a {@link Response}.
  
  @param exception the {@link Throwable} exception that was not handled
  @return a {@link Response} object with a status of 500, content-type of 'application/json', and
  a {@link JsonError} entity containing details about the unhandled exception in JSON format