docs: private P byteArrayToPage(byte[] array) {
      try {
        ByteArrayInputStream bais = new ByteArrayInputStream(array);
        ObjectInputStream ois = new ObjectInputStream(bais);
        int type = ois.readInt();
        if(type == EMPTY_PAGE) {
          return null;
        }
        else if(type == FILLED_PAGE) {
          P page;
          try {
            page = pageclass.newInstance();
            page.readExternal(ois);
          }
          catch(InstantiationException|IllegalAccessException|ClassNotFoundException e) {
            throw new AbortException("Error instanciating an index page", e);
          }
          return page;
        }
        else {
          throw new IllegalArgumentException("Unknown type: " + type);
        }
      }
      catch(IOException e) {
        throw new AbortException("IO Error in page file", e);
      }
    }