+ if (cluster.hasResource(key, session.clusterTranslator)) {
+ ExistsPredicateProcedure pp = new ExistsPredicateProcedure();
+ cluster.forPredicates(key, pp, 0, session.clusterTranslator);
+ if(pp.exists) {
+ return new ResourceImpl(session.resourceSupport, key);
+ } else if (cluster.hasValue(key, session.clusterTranslator)) {
+ return new ResourceImpl(session.resourceSupport, key);
+ }
+ }
+ throw new InvalidResourceReferenceException("Resource with uid = " + uid + " does not exist.");