private int getHitRegion(RPChromosomeRegion hitRegion, boolean contained) { int hitCount = 0; // check if new hit list is needed if(leafHitList == null){ hitCount = getHitList(hitRegion, contained); if(hitCount == 0) return 0; // no hit data found } else { hitCount = leafHitList.size() - leafItemIndex; if(hitCount == 0) return 0; // hit list exhausted } // Perform a block read for starting base of selection region - use first leaf hit dataBlockRead = getDataBlock(leafItemIndex++); // try next item - probably intersection issue // Note: recursive call until a block is valid or hit list exhuasted if(!dataBlockRead) hitCount = getHitRegion(hitRegion, contained); return hitCount; }
private int getHitRegion(RPChromosomeRegion hitRegion, boolean contained) { int hitCount = 0; // check if new hit list is needed if(leafHitList == null){ hitCount = getHitList(hitRegion, contained); if(hitCount == 0) return 0; // no hit data found } else { hitCount = leafHitList.size() - leafItemIndex; if(hitCount == 0) return 0; // hit list exhausted } // Perform a block read for starting base of selection region - use first leaf hit dataBlockRead = getDataBlock(leafItemIndex++); // try next item - probably intersection issue // Note: recursive call until a block is valid or hit list exhuasted if(!dataBlockRead) hitCount = getHitRegion(hitRegion, contained); return hitCount; }