int (final FormattingModel model, final @NotNull LeafBlockWrapper block, int shift, final CharSequence _newWhiteSpace, final CommonCodeStyleSettings.IndentOptions options ) { final WhiteSpace whiteSpace = block.getWhiteSpace(); final TextRange textRange = whiteSpace.getTextRange(); final TextRange wsRange = textRange.shiftRight(shift); final String newWhiteSpace = _newWhiteSpace.toString(); TextRange newWhiteSpaceRange = model instanceof FormattingModelEx ? ((FormattingModelEx) model).replaceWhiteSpace(wsRange, block.getNode(), newWhiteSpace) : model.replaceWhiteSpace(wsRange, newWhiteSpace); shift += newWhiteSpaceRange.getLength() - textRange.getLength(); if (block.isLeaf() && whiteSpace.containsLineFeeds() && block.containsLineFeeds()) { final TextRange currentBlockRange = block.getTextRange().shiftRight(shift); IndentInside oldBlockIndent = whiteSpace.getInitialLastLineIndent(); IndentInside whiteSpaceIndent = IndentInside.createIndentOn(IndentInside.getLastLine(newWhiteSpace)); final int shiftInside = calcShift(oldBlockIndent, whiteSpaceIndent, options); if (shiftInside != 0 || !oldBlockIndent.equals(whiteSpaceIndent)) { final TextRange newBlockRange = model.shiftIndentInsideRange(block.getNode(), currentBlockRange, shiftInside); shift += newBlockRange.getLength() - block.getLength(); } } return shift; }