code: protected LocalXAResource getLocalXAResource(ManagedConnection mc) throws ResourceException
     {
        TransactionalConnectionManager txCM = (TransactionalConnectionManager) cm;
        LocalXAResource xaResource = null;
        String eisProductName = null;
        String eisProductVersion = null;
        String jndiName = cm.getConnectionManagerConfiguration().getJndiName();
  
        try
        {
           if (mc.getMetaData() != null)
           {
              eisProductName = mc.getMetaData().getEISProductName();
              eisProductVersion = mc.getMetaData().getEISProductVersion();
           }
        }
        catch (ResourceException re)
        {
           // Ignore
        }
  
        if (eisProductName == null)
           eisProductName = jndiName;
  
        if (eisProductVersion == null)
           eisProductVersion = jndiName;
  
        if (cm.getConnectionManagerConfiguration().isConnectable())
        {
           if (mc instanceof org.ironjacamar.core.spi.transaction.ConnectableResource)
           {
              ConnectableResource cr = (ConnectableResource) mc;
  
              xaResource = txCM.getTransactionIntegration()
                    .createConnectableLocalXAResource(cm, eisProductName, eisProductVersion, jndiName, cr, statistics);
           }
           else if (txCM.getTransactionIntegration().isConnectableResource(mc))
           {
              xaResource = txCM.getTransactionIntegration()
                    .createConnectableLocalXAResource(cm, eisProductName, eisProductVersion, jndiName, mc, statistics);
           }
        }
  
        if (xaResource == null)
           xaResource = txCM.getTransactionIntegration()
                 .createLocalXAResource(cm, eisProductName, eisProductVersion, jndiName, statistics);
  
        return xaResource;
     }
docs: Get a LocalXAResource instance
  
  @param mc The ManagedConnection
  @return The instance
  @throws ResourceException Thrown if an error occurs