public void removeGuaranteedDeadBlock(Block block) { if (!baseBlocks.Remove(block)) { throw new ApplicationException("Could not remove dead block"); } block.removeGuaranteedDeadBlock(); }