docs: private void adjustKNNDistance(RdKNNEntry entry, ArrayDBIDs ids, List<? extends KNNList> knnLists) {
      RdKNNNode node = getNode(entry);
      double knnDist_node = 0.;
      if(node.isLeaf()) {
        for(int i = 0; i < node.getNumEntries(); i++) {
          RdKNNEntry leafEntry = node.getEntry(i);
          DBID id = ((LeafEntry) leafEntry).getDBID();
          int pos = ids.binarySearch(id);
          if(pos >= 0) {
            leafEntry.setKnnDistance(knnLists.get(pos).getKNNDistance());
          }
          knnDist_node = Math.max(knnDist_node, leafEntry.getKnnDistance());
        }
      }
      else {
        for(int i = 0; i < node.getNumEntries(); i++) {
          RdKNNEntry dirEntry = node.getEntry(i);
          adjustKNNDistance(dirEntry, ids, knnLists);
          knnDist_node = Math.max(knnDist_node, dirEntry.getKnnDistance());
        }
      }
      entry.setKnnDistance(knnDist_node);
    }