public ResourceReferenceDescriptor getResourceReference(String jndiName, String logicalName) { Set descriptors = getConnectorRuntime().getResourceReferenceDescriptor(); List matchingRefs = new ArrayList(); if (descriptors != null) { for (Object descriptor : descriptors) { ResourceReferenceDescriptor ref = (ResourceReferenceDescriptor) descriptor; String name = ref.getJndiName(); if (jndiName.equals(name)) { matchingRefs.add(ref); } } } if(matchingRefs.size()==1){ return (ResourceReferenceDescriptor)matchingRefs.get(0); }else if(matchingRefs.size() > 1){ Iterator it = matchingRefs.iterator(); while(it.hasNext()){ ResourceReferenceDescriptor rrd = (ResourceReferenceDescriptor)it.next(); String refName = rrd.getName(); if(refName != null && logicalName != null){ refName = getJavaName(refName); if(refName.equals(getJavaName(logicalName))){ return rrd; } } } } return null; }