@Override
  public void readFully(byte[] b, int offset, int len) throws IOException {
    if (readInternal(b, offset, len) == len) return;
    throw new EOFException();
  }
The Parquet InputFile implementation that allows the reader to
read the footer from cache without being aware of the latter.
This implements both InputFile and the InputStream that the reader gets from InputFile.
ql/src/java/org/apache/hadoop/hive/ql/io/parquet/vector/ParquetFooterInputFromCache.java