presto-orc/src/main/java/io/prestosql/orc/CachingOrcDataSource.java/CachingOrcDataSource/readFully
class CachingOrcDataSource:    @Override
    public <K> Map<K, OrcDataReader> readFully(Map<K, DiskRange> diskRanges)
            throws IOException
    {
        ImmutableMap.Builder<K, OrcDataReader> builder = ImmutableMap.builder();

        // Assumption here: all disk ranges are in the same region. Therefore, serving them in arbitrary order
        // will not result in eviction of cache that otherwise could have served any of the DiskRanges provided.
        for (Map.Entry<K, DiskRange> entry : diskRanges.entrySet()) {
            DiskRange diskRange = entry.getValue();
            Slice buffer = readFully(diskRange.getOffset(), diskRange.getLength());
            builder.put(entry.getKey(), new MemoryOrcDataReader(dataSource.getId(), buffer, buffer.length()));
        }
        return builder.build();
    }