/** UI event. View doc button click */
 public void viewDocument(BCMDocument document) {
   try {
     super.viewDocument(document, dto.getProcessBundleLogId());
     openDocumentView(dto.getProcessBundleLogId(), document, quote.getScanner());
   } catch (ServiceException e) {
     errorMessage(e.getError());
   }
 }
  @Override
  // confirm offer needs to load two document lists
  public void loadBCMBundle() {
    try {
      loadBCMBundleStructureByTask(task.getTaskTarget());
      dto.getScanDocuments().clear();
      dto.getScanDocuments2().clear();
      if (bundle != null) {
        bundle.setBundleId(dto.getProcessBundleLogId());
        setInitialBCMScannerVars(quote, bundle.getCode(), quote.getIdNumber());
        bundle = bcm.resolveBundle(prepareBundleFilters(bundle));

        // load loan documents
        List<BCMDocument> lonDocs =
            loadLoanDocuments(quote.getFilteredLoanOffers(), this.bundle.getDocuments());
        if (lonDocs != null && lonDocs.size() > 0) {
          lonDocs = bcm.resolveDynamicBundle(quote.getProcessBundleLogId(), lonDocs);
        }
        dto.getScanDocuments().addAll(lonDocs);

        // load pre-agreement documents
        List<BCMDocument> preDocs =
            loadPreAgreementDocuments(quote.getFilteredLoanOffers(), this.bundle.getDocuments());
        if (preDocs != null && preDocs.size() > 0) {
          preDocs = bcm.resolveDynamicBundle(quote.getProcessBundleLogId(), preDocs);
        }
        dto.getScanDocuments2().addAll(preDocs);

        taskRules.checkOfferChanges(dto);
        dto.getScanner().setRenderViewPanel(false);
        getRc().update(UI_MAIN);
      }
    } catch (ServiceException e) {
      errorMessage(e.getError());
    }
  }