code: @Override
  public synchronized void  close() throws IOException {
  try {
      if (officeReader!=null) {
  	officeReader.close();
       }
      } finally {
        if (decompressor != null) { // return this decompressor
          CodecPool.returnDecompressor(decompressor);
          decompressor = null;
        } // return decompressor of linked workbooks
  	if (this.currentHFR!=null) {
  		currentHFR.close();
  	}
      }
    	// do not close the filesystem! will cause exceptions in Spark
  }
docs: /*
  Clean up InputStream and Decompressor after use
  
  
  @throws java.io.IOException in case of errors reading from the filestream provided by Hadoop