Source:
public StoreInfo get(List<? extends StoreKey> ids, EnumSet<StoreGetOptions> storeGetOptions) throws StoreException { checkStarted(); checkDuplicates(ids); List<CloudMessageReadSet.BlobReadInfo> blobReadInfos = new ArrayList<>(ids.size()); List<MessageInfo> messageInfos = new ArrayList<>(ids.size()); try { List<BlobId> blobIdList = ids.stream().map(key -> (BlobId) key).collect(Collectors.toList()); Map<String, CloudBlobMetadata> cloudBlobMetadataListMap = cloudDestination.getBlobMetadata(blobIdList); if (cloudBlobMetadataListMap.size() < blobIdList.size()) { Set<BlobId> missingBlobs = blobIdList.stream() .filter(blobId -> !cloudBlobMetadataListMap.containsKey(blobId)) .collect(Collectors.toSet()); throw new StoreException("Some of the keys were missing in the cloud metadata store: " + missingBlobs, StoreErrorCodes.ID_Not_Found); } long currentTimeStamp = System.currentTimeMillis(); validateCloudMetadata(cloudBlobMetadataListMap, storeGetOptions, currentTimeStamp); for (BlobId blobId : blobIdList) { CloudBlobMetadata blobMetadata = cloudBlobMetadataListMap.get(blobId.getID()); boolean ttlUpdated = blobMetadata.getExpirationTime() == Utils.Infinite_Time; boolean deleted = blobMetadata.getDeletionTime() > 0; MessageInfo messageInfo = new MessageInfo(blobId, blobMetadata.getSize(), deleted, ttlUpdated, blobMetadata.getExpirationTime(), (short) blobMetadata.getAccountId(), (short) blobMetadata.getContainerId(), getOperationTime(blobMetadata)); messageInfos.add(messageInfo); blobReadInfos.add(new CloudMessageReadSet.BlobReadInfo(blobMetadata, blobId)); } } catch (CloudStorageException e) { throw new StoreException(e, StoreErrorCodes.IOError); } CloudMessageReadSet messageReadSet = new CloudMessageReadSet(blobReadInfos, this); return new StoreInfo(messageReadSet, messageInfos); }

Target:
public StoreInfo get(List<? extends StoreKey> ids, EnumSet<StoreGetOptions> storeGetOptions) throws StoreException { checkStarted(); checkDuplicates(ids); List<CloudMessageReadSet.BlobReadInfo> blobReadInfos = new ArrayList<>(ids.size()); List<MessageInfo> messageInfos = new ArrayList<>(ids.size()); try { List<BlobId> blobIdList = ids.stream().map(key -> (BlobId) key).collect(Collectors.toList()); Map<String, CloudBlobMetadata> cloudBlobMetadataListMap = cloudDestination.getBlobMetadata(blobIdList); if (cloudBlobMetadataListMap.size() < blobIdList.size()) { Set<BlobId> missingBlobs = blobIdList.stream() .filter(blobId -> !cloudBlobMetadataListMap.containsKey(blobId)) .collect(Collectors.toSet()); throw new StoreException("Some of the keys were missing in the cloud metadata store: " + missingBlobs, StoreErrorCodes.ID_Not_Found); } long currentTimeStamp = System.currentTimeMillis(); validateCloudMetadata(cloudBlobMetadataListMap, storeGetOptions, currentTimeStamp); for (BlobId blobId : blobIdList) { CloudBlobMetadata blobMetadata = cloudBlobMetadataListMap.get(blobId.getID()); boolean ttlUpdated = blobMetadata.getExpirationTime() == Utils.Infinite_Time; boolean deleted = blobMetadata.getDeletionTime() != Utils.Infinite_Time; MessageInfo messageInfo = new MessageInfo(blobId, blobMetadata.getSize(), deleted, ttlUpdated, blobMetadata.getExpirationTime(), (short) blobMetadata.getAccountId(), (short) blobMetadata.getContainerId(), getOperationTime(blobMetadata)); messageInfos.add(messageInfo); blobReadInfos.add(new CloudMessageReadSet.BlobReadInfo(blobMetadata, blobId)); } } catch (CloudStorageException e) { throw new StoreException(e, StoreErrorCodes.IOError); } CloudMessageReadSet messageReadSet = new CloudMessageReadSet(blobReadInfos, this); return new StoreInfo(messageReadSet, messageInfos); }