protected boolean wantBraces() {
		StructuredBlock block = subBlock;
		if (block == null)
			return false;
		for (;;) {
			if (block.declare != null && !block.declare.isEmpty()) {
				/* A declaration; we need braces. */
				return true;
			}

			if (!(block instanceof SequentialBlock)) {
				/*
				 * This was the last block on the first level. Finally check if
				 * that is an declaring InstructionBlock.
				 */
				if (block instanceof InstructionBlock
						&& ((InstructionBlock) block).isDeclaration)
					return true;

				/*
				 * If we get here, we need no braces.
				 */
				return false;
			}

			StructuredBlock[] subBlocks = block.getSubBlocks();
			if (subBlocks[0] instanceof InstructionBlock
					&& ((InstructionBlock) subBlocks[0]).isDeclaration) {
				/*
				 * An instruction block declares on the same level as the
				 * surrounding SequentialBlock.
				 */
				return true;
			}

			/* continue with the second sub block. */
			block = subBlocks[1];
		}
	}