/** {@inheritDoc} */
  @GET
  @Path("/patron")
  @TypeHint(Patron.class)
  @Override
  public Response getCardInformation(
      @QueryParam("personId") String personId,
      @QueryParam("byuId") String byuId,
      @QueryParam("ssn") String ssn,
      @QueryParam("netId") String netId,
      @QueryParam("proxId") String proxId) {
    Patron patron = null;
    try {
      if (personId != null && personId.length() == 9) {
        patron = cardManager.getPatronByPersonId(personId);
      } else if (byuId != null) {
        patron = cardManager.getPatronByByuId(byuId);
      } else if (ssn != null) {
        patron = cardManager.getPatronBySSN(ssn);
      } else if (netId != null) {
        patron = cardManager.getPatronByNetId(netId);
      } else if (proxId != null) {
        patron = cardManager.getPatronByProxId(proxId);
      }
    } catch (IllegalArgumentException iae) {
      return Response.status(Response.Status.NOT_FOUND).entity(iae.getMessage()).build();
    }

    return Response.ok().entity(patron).build();
  }