String propertiesString = ProcessEntityHolder.generateString(correlationKey.getProperties());
Cache<String, Object> cache = getCache();
List<Long> retval = new ArrayList<Long>();
for (String key : cache.keySet()) {
if (key.startsWith("correlationInfo")) {
ProcessEntityHolder holder = (ProcessEntityHolder) cache.get(key);
if (holder.getCorrelationKeyId() == correlationKey.getProperties().size()) {
if (holder.getCorrelationKeyProperties().contains(propertiesString)) {
retval.add(holder.getProcessInstanceId());
}
}
}
}
return (retval.size() == 1) ? retval.iterator().next() : null;