public StoreFileReader postStoreFileReaderOpen(final FileSystem fs, final Path p,
    final FSDataInputStreamWrapper in, final long size, final CacheConfig cacheConf,
    final Reference r, final StoreFileReader reader) throws IOException {
    if (this.coprocEnvironments.isEmpty()) {
      return reader;
    }
    return execOperationWithResult(new ObserverOperationWithResult<RegionObserver, StoreFileReader>(
      regionObserverGetter, reader) {
      @Override
      public StoreFileReader call(RegionObserver observer) throws IOException {
        return observer.postStoreFileReaderOpen(this, fs, p, in, size, cacheConf, r, getResult());
      }
    });
  }
@param fs     fileystem to read from
@param p      path to the file
@param in     {@link FSDataInputStreamWrapper}
@param size   Full size of the file
@param r      original reference file. This will be not null only when reading a split file.
@param reader the base reader instance
@return The reader to use
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java