Block (@NotNull final List<? extends ASTNode> subNodes, final Wrap wrap, @Nullable final Alignment alignment, int relativeIndentSize) { final ArrayList<Block> subBlocks = new ArrayList<>(); final ASTNode firstNode = subNodes.get(0); if (JavaFormatterUtil.isStartOfCallChunk(mySettings, firstNode)) { AlignmentStrategy strategy = AlignmentStrategy.getNullStrategy(); Indent indent = relativeIndentSize > 0 ? Indent.getSpaceIndent(relativeIndentSize) : Indent.getNoneIndent(); Block block = newJavaBlock(firstNode, mySettings, myJavaSettings, indent, null, strategy, myFormattingMode); subBlocks.add(block); if (subNodes.size() > 1) { subBlocks.addAll(createJavaBlocks(subNodes.subList(1, subNodes.size()))); } return createSyntheticBlock(subBlocks, getChainedBlockIndent(true), alignment, wrap, CHAINED_CALL_DEBUG_NAME); } else { return createSyntheticBlock( createJavaBlocks(subNodes), getChainedBlockIndent(false), alignment, null, FRAGMENT_DEBUG_NAME); } }