code: public STRtree readIndex() throws Exception {
  
          File file = new File(path);
          raf = new RandomAccessFile(file, "r");
  
          raf.seek(6L);
          checkVersions();
  
          long position = INDEX_ADDRESS_POSITION;
          raf.seek(position);
          long indexAddress = raf.readLong();
          position = INDEX_ADDRESS_POSITION + INDEX_ADDRESS_SIZE;
          raf.seek(position);
          long indexSize = raf.readLong();
  
          raf.seek(indexAddress);
          byte[] indexBytes = new byte[(int) indexSize];
          int read = raf.read(indexBytes);
          if (read != indexSize) {
              throw new IOException();
          }
  
          ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(indexBytes));
          indexObj = (STRtree) in.readObject();
          return indexObj;
      }
docs: Reads the {@link STRtree} object from the file.
  
  @return the quadtree, holding envelops and geometry positions in the file.
  @throws Exception