docs: void completeWork(long txnId)
      {
          if (m_shuttingDown) {
              return;
          }
  
          MpRoSiteContext site = m_busySites.remove(txnId);
          if (site == null) {
              throw new RuntimeException("No busy site for txnID: " + txnId + " found, shouldn't happen.");
          }
          // check the catalog versions, only push back onto idle if the catalog hasn't changed
          // otherwise, just let it get garbage collected and let doWork() construct new ones for the
          // pool with the updated catalog.
          if (site.getCatalogCRC() == m_catalogContext.getCatalogCRC()
                  && site.getCatalogVersion() == m_catalogContext.catalogVersion) {
              m_idleSites.push(site);
          }
          else {
              site.shutdown();
              m_allSites.remove(site);
          }
      }