IndentData (final CommonCodeStyleSettings.IndentOptions indentOption, final ChildAttributes childAttributes, int index) { IndentImpl childIndent = (IndentImpl)childAttributes.getChildIndent(); if (childIndent == null) childIndent = (IndentImpl)Indent.getContinuationWithoutFirstIndent(indentOption.USE_RELATIVE_INDENTS); IndentData indent = getIndent(indentOption, index, childIndent); if (childIndent.isRelativeToDirectParent()) { return new IndentData(indent.getIndentSpaces() + CoreFormatterUtil.getStartColumn(CoreFormatterUtil.getFirstLeaf(this)), indent.getSpaces()); } if (myParent == null || (myFlags & CAN_USE_FIRST_CHILD_INDENT_AS_BLOCK_INDENT) != 0 && getWhiteSpace().containsLineFeeds()) { return indent.add(getWhiteSpace()); } else { IndentData offsetFromParent = myParent.getChildOffset(this, indentOption, -1); return indent.add(offsetFromParent); } }