private void checkComp( int i, int p, ArrayEncapsInsert<T>[] array, float[] insertBox, boolean success,
Set<Integer> cand, int c, double[] overlap ) {
cand.add( i );
for ( int j = 0; j < p; j++ ) {
if ( j != i ) {
double currentOverlap = calculateAreaOverlap( array[i].nodeEntry.bbox, array[j].nodeEntry.bbox,
insertBox );
overlap[j] += currentOverlap;
if ( currentOverlap > 0 && !cand.contains( j ) ) {
checkComp( j, p, array, insertBox, success, cand, c, overlap );
if ( success ) {
break;
}
}
}
}
}