class CachingOrcDataSource implements OrcDataSource {

    @VisibleForTesting
    void readCacheAt(long offset)
            throws IOException
    {
        DiskRange newCacheRange = regionFinder.getRangeFor(offset);
        cachePosition = newCacheRange.getOffset();
        cacheLength = newCacheRange.getLength();
        cache = dataSource.readFully(newCacheRange.getOffset(), cacheLength);
    }

    public  CachingOrcDataSource(OrcDataSource dataSource, RegionFinder regionFinder);

}