code: public Collection<Recovery.XidBranchesPair> recover(XidFactory xidFactory) throws LogException {
          LOGGER.debug("Initiating transaction manager recovery");
          Map<Xid, Recovery.XidBranchesPair> recovered = new HashMap<>();
          ReplayListener replayListener = new GeronimoReplayListener(xidFactory, recovered);
          logger.replayActiveTx(replayListener);
          LOGGER.debug("In doubt transactions recovered from log");
          return recovered.values();
      }
docs: Recovers the log, returning a map of (top level) xid to List of TransactionBranchInfo for the branches.
  Uses the XidFactory to reconstruct the xids.
  
  @param xidFactory Xid factory
  @return Map of recovered xid to List of TransactionBranchInfo representing the branches.
  @throws LogException on error