docs: private final CMConfigData getCMConfigData(AbstractConnectionFactoryService cfSvc, ResourceInfo refInfo) {
          final boolean trace = TraceComponent.isAnyTracingEnabled();
          if (trace && tc.isEntryEnabled())
              Tr.entry(this, tc, "getCMConfigData");
  
          // Defaults for direct lookup
          int auth = J2CConstants.AUTHENTICATION_APPLICATION;
          int branchCoupling = ResourceRefInfo.BRANCH_COUPLING_UNSET;
          int commitPriority = 0;
          int isolation = Connection.TRANSACTION_NONE;
          int sharingScope;
          String loginConfigName = null;
          HashMap<String, String> loginConfigProps = null;
          String resRefName = null;
  
          if (refInfo != null) {
              if (refInfo.getAuth() == ResourceRef.AUTH_CONTAINER)
                  auth = J2CConstants.AUTHENTICATION_CONTAINER;
  
              branchCoupling = refInfo.getBranchCoupling();
              commitPriority = refInfo.getCommitPriority();
              isolation = refInfo.getIsolationLevel();
              loginConfigName = refInfo.getLoginConfigurationName();
              loginConfigProps = toHashMap(refInfo.getLoginPropertyList());
              resRefName = refInfo.getName();
              sharingScope = refInfo.getSharingScope();
          } else {
              if (properties != null) {
                  Object enableSharingForDirectLookups = properties.get("enableSharingForDirectLookups");
                  sharingScope = enableSharingForDirectLookups == null
                                 || (Boolean) enableSharingForDirectLookups ? ResourceRefInfo.SHARING_SCOPE_SHAREABLE : ResourceRefInfo.SHARING_SCOPE_UNSHAREABLE;
              } else {
                  sharingScope = ResourceRefInfo.SHARING_SCOPE_SHAREABLE;
              }
          }
  
          CMConfigData cmConfig = new CMConfigDataImpl(cfSvc.getJNDIName(), sharingScope, isolation, auth, cfSvc.getID(), loginConfigName, loginConfigProps, resRefName, commitPriority, branchCoupling, null // no mmProps
          );
  
          if (trace && tc.isEntryEnabled())
              Tr.exit(this, tc, "getCMConfigData", cmConfig);
          return cmConfig;
      }