Enlargement<E> min = null;
TopBoundedHeap<FCPair<Double, E>> entriesToTest = new TopBoundedHeap<FCPair<Double, E>>(insertionCandidates, Collections.reverseOrder());
for(int i = 0; i < node.getNumEntries(); i++) {
E entry_i = node.getEntry(i);
HyperBoundingBox newMBR = SpatialUtil.unionTolerant(mbr, entry_i);
double volume = /* entry_i.getMBR() == null ? 0 : */SpatialUtil.volume(entry_i);
double inc_volume = SpatialUtil.volume(newMBR) - volume;
entriesToTest.add(new FCPair<Double, E>(inc_volume, entry_i));
}
while(!entriesToTest.isEmpty()) {
E entry_i = entriesToTest.poll().getSecond();
int index = -1;
HyperBoundingBox newMBR = SpatialUtil.unionTolerant(mbr, entry_i);
double currOverlap = 0;
double newOverlap = 0;
for(int k = 0; k < node.getNumEntries(); k++) {
E entry_k = node.getEntry(k);