SyntheticCodeBlock (final List<Block> localResult, final Alignment childAlignment, final Indent indent, final Wrap childWrap) { final SyntheticCodeBlock result = new SyntheticCodeBlock(localResult, childAlignment, getSettings(), myJavaSettings, indent, childWrap) { @Override @NotNull public ChildAttributes getChildAttributes(final int newChildIndex) { IElementType prevElementType = null; if (newChildIndex > 0) { final Block previousBlock = getSubBlocks().get(newChildIndex - 1); if (previousBlock instanceof AbstractBlock) { prevElementType = ((AbstractBlock)previousBlock).getNode().getElementType(); } } if (prevElementType == JavaElementType.BLOCK_STATEMENT || prevElementType == JavaElementType.BREAK_STATEMENT || prevElementType == JavaElementType.RETURN_STATEMENT) { return new ChildAttributes(Indent.getNoneIndent(), null); } else { return super.getChildAttributes(newChildIndex); } } }; result.setChildAttributes(new ChildAttributes(Indent.getNormalIndent(), null)); result.setIsIncomplete(true); return result; }