code: public boolean readMetaDataIfNeeded() throws IOException {
      if (eofReached) {
        return false;
      }
      if (rawBlockOffset == 0) {
        try {
          metaDataConsumer.readMetaData(in, metaDataBlockSize);
          rawBlockOffset += metaDataBlockSize;
        } catch (EOFException e) {
          eofReached = true;
          return false;
        }
      }
      return true;
    }
docs: Returns whether we've reached EOF.