code: public void setTMRecoveryService(TMRecoveryService tmrec) {
          if (tc.isDebugEnabled())
              Tr.debug(tc, "setTMRecoveryService " + tmrec);
          if (tmsRef != null) {
              if (!_isSQLRecoveryLog) {
                  if (_cc != null) {
                      tmsRef.doStartup(this, _isSQLRecoveryLog);
                  }
              } else {
                  // If the JTMConfigurationProvider has been activated, and if the DataSourceFactory
                  // has been provided, we can initiate recovery
                  ServiceReference<ResourceFactory> serviceRef = dataSourceFactoryRef.getReference();
                  if (tc.isDebugEnabled())
                      Tr.debug(tc, "retrieved datasourceFactory service ref " + serviceRef);
                  if (_cc != null && serviceRef != null) {
                      tmsRef.doStartup(this, _isSQLRecoveryLog);
                  }
              }
          } else if (tc.isDebugEnabled())
              Tr.debug(tc, "tmsref is null");
  
      }
docs: The setTMRecoveryService method call is used to alert the JTMConfigurationProvider to the presence of a
  TMRecoveryService. This Service was introduced under issue #5119 to break a potential circular reference in
  DS as the TransactionManagerService and jdbc's DataSourceService are mutually dependent.
  
  @param tmrec