docs: public void reconstruct(RecoveryManager recoveryManager, RecoverableUnit log) throws SystemException {
          if (tc.isEntryEnabled())
              Tr.entry(tc, "reconstruct", new Object[] { recoveryManager, log });
  
          _retryCompletion = true;
  
          reconstructHeuristics(log);
  
          // Read in XAResources and Corba resources (subordinate coords) from the log
          // We save the sections and logUnit although they are never needed again..
  
          // Get section id for XAResources registered as part of transaction
          _xalogSection = log.lookupSection(TransactionImpl.XARESOURCE_SECTION);
          if (_xalogSection != null) // We have some resources to recover
          {
              final byte[] tid = _transaction.getXidImpl().toBytes();
  
              LogCursor logData = null;
              try {
                  logData = _xalogSection.data();
                  while (logData.hasNext()) {
                      final byte[] data = (byte[]) logData.next();
                      try {
                          final JTAXAResourceImpl res = new JTAXAResourceImpl(recoveryManager.getPartnerLogTable(), tid, data);
                          res.setResourceStatus(StatefulResource.PREPARED);
                          _resourceObjects.add(res);
                          if (res.getPriority() != JTAResource.DEFAULT_COMMIT_PRIORITY)
                              _gotPriorityResourcesEnlisted = true;
                      } catch (Throwable exc) {
                          FFDCFilter.processException(exc, "com.ibm.tx.jta.impl.RegisteredResources.reconstruct", "843", this);
                          Tr.error(tc, "WTRN0045_CANNOT_RECOVER_RESOURCE",
                                   new Object[] { Util.toHexString(data), exc });
                          throw exc;
                      }
                  }
                  logData.close();
              } catch (Throwable exc) {
                  FFDCFilter.processException(exc, "com.ibm.tx.jta.impl.RegisteredResources.reconstruct", "853", this);
                  Tr.fatal(tc, "WTRN0000_ERR_INT_ERROR", new Object[] { "reconstruct", "com.ibm.tx.jta.impl.RegisteredResources", exc });
                  if (logData != null)
                      logData.close();
                  if (tc.isEventEnabled())
                      Tr.event(tc, "Exception raised reconstructing XA resource");
                  if (tc.isEntryEnabled())
                      Tr.exit(tc, "reconstruct");
                  throw (SystemException) new SystemException(exc.toString()).initCause(exc);
              }
          }
  
          _logUnit = log;
  
          if (tc.isEntryEnabled())
              Tr.exit(tc, "reconstruct");
      }