def METHOD_NAME(
    self, pred: Optional[CFGBlock] = None, edge_label: Optional[Any] = None
) -> CFGBlock:
    """Create a new CFGBlock for this graph.
    If pred is specified, set that block as a predecessor of the new block.
    If edge_label is specified, set the corresponding edge in the CFG with that label.
    """
    new_block = CFGBlock(self.block_count)
    self.unreachable_blocks.add(new_block)
    self.block_count += 1
    if pred:
        self.link_or_merge(pred, new_block, edge_label)
    return new_block