# Class: com.pnfsoftware.jeb.core.units.code.CFGUtil.BlockGroup

Given a start block A and an end block B, find the group of blocks G flowing from A to B, such that: 1\) all blocks in G are reachable from A; 2\) no blocks in G are reachable from B. Note that if A is reachable by B, G is the empty collection. 

 The list of exit blocks in G are those having B as an immediate successor. There may be none. 

 The list of entry blocks in G are those having an immediate predecessor not reachable by A. There may be none. 

 Important note: Irregular flows are disregarded.

## Constructor: BlockGroup
- parameter: `cfg`, type: `com.pnfsoftware.jeb.core.units.code.android.controlflow.CFG<? extends com.pnfsoftware.jeb.core.units.code.IInstruction>`
- parameter: `blkoffStart`, type: `long`
- parameter: `blkoffStopper`, type: `long`

Description: Create a block group.
parameter: cfg: control flow graph
parameter: blkoffStart: start block address
parameter: blkoffStopper: stopper block address

## Method: determine
- return type: `java.util.Set<java.lang.Long>`

Description: Determine the group.
return: the list of blocks in the group

## Method: getBlocksInGroup
- return type: `java.util.Set<java.lang.Long>`

Description: Retrieve the list of blocks in the group. Get the blocks in the region.
return: may be empty

## Method: getEntryPoints
- return type: `java.util.Set<java.lang.Long>`

Description: Retrieve the list of entry blocks in the group.
return: may be empty

## Method: getExitPoints
- return type: `java.util.Set<java.lang.Long>`

Description: Retrieve the list of exit blocks in the group. Process the region.
return: may be empty

