code: private boolean readNextChunkFromFile() throws IOException {
          if (readOffset >= filledUpToWhenStarted || readOffset < 0) {
              return false;
          }
  
          bufferedReader.clear();
          dataFile.read(readOffset, bufferedReader);
          bufferedReader.position(0);
          if (bufferedReader.limit() > 0) {
              readOffset += bufferedReader.limit();
              while (bufferedReader.remaining() > 0) {
                  byte[] dst = new byte[elementSize];
                  bufferedReader.get(dst);
                  pendingElements.add(dst);
              }
          }
          return true;
      }
docs: Reads one chunk from the file. It is possible that the chunk is not complete because the end of the file is
  reached. In this case the maximum number of {@link AbstractKVStorable} will be retrieved.
  
  @return a chunk from the file
  @throws IOException