docs: @Override
     public synchronized TransactionManager getTransactionManager() {
        if (!lookupDone) {
           doLookups(globalCfg.classLoader());
        }
        if (tm != null)
           return tm;
        if (lookupFailed) {
           if (!noJBossTM) {
              // First try an embedded JBossTM/Wildly instance
              tryEmbeddedJBossTM();
           }
  
           if (noJBossTM) {
              //fall back to a dummy from Infinispan
              useDummyTM();
           }
        }
        return tm;
     }