/**
   * @see org.kuali.rice.kns.lookup.LookupResultsService#persistResultsTable(java.lang.String,
   *     java.util.List, java.lang.String)
   */
  @Override
  public void persistResultsTable(
      String lookupResultsSequenceNumber, List<ResultRow> resultTable, String personId)
      throws Exception {
    String resultTableString =
        new String(Base64.encodeBase64(ObjectUtils.toByteArray(resultTable)));

    Timestamp now = getDateTimeService().getCurrentTimestamp();

    LookupResults lookupResults = retrieveLookupResults(lookupResultsSequenceNumber);
    if (lookupResults == null) {
      lookupResults = new LookupResults();
      lookupResults.setLookupResultsSequenceNumber(lookupResultsSequenceNumber);
    }
    lookupResults.setLookupResultsSequenceNumber(lookupResultsSequenceNumber);
    lookupResults.setLookupPersonId(personId);
    lookupResults.setSerializedLookupResults(resultTableString);
    lookupResults.setLookupDate(now);
    getBusinessObjectService().save(lookupResults);
    LOG.debug("Wrote resultTable " + resultTable);
  }