code: @Override
      public Xid[] recover(int flags) throws XAException {
          LOG.info("PhynixxXAResource[" + this.getId() + "]:recover recover flags="
                  + ConstantsPrinter.getXAResourceMessage(flags));
          if (flags != TMSTARTRSCAN && flags != TMENDRSCAN && flags != TMNOFLAGS) {
              throw new XAException(XAException.XAER_INVAL);
          }
  
          Xid[] retval = null;
          retval = this.xaResourceFactory.recover(); // get all valid Xids
          return retval;
      }
docs: the system is recovered by the xaResourceFactory representing the
  persistence management system,