for (Entry<Set<String>, Set<String>> entry : identifiersByFields.entrySet()) {
Set<String> identifiersForTheseFields = entry.getValue();
Set<String> fields = entry.getKey();
ReferenceDataProviderGetRequest underlyingRequest = ReferenceDataProviderGetRequest.createGet(identifiersForTheseFields, fields, false);
ReferenceDataProviderGetResult underlyingResult = _underlying.getReferenceData(underlyingRequest);
for (ReferenceData refData : underlyingResult.getReferenceData()) {
ReferenceData previousResult = cachedResults.get(refData.getIdentifier());
ReferenceData resolvedResult = getCombinedResult(fields, new ReferenceData(refData.getIdentifier()), refData);
if (differentCachedResult(previousResult, resolvedResult)) {