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