IndentInfo (final int offset) { LeafBlockWrapper current = adjustAtLanguageBorder(processBlocksBefore(offset), offset); AbstractBlockWrapper parent = getParentFor(offset, current); if (parent == null) { final LeafBlockWrapper previousBlock = current.getPreviousBlock(); if (previousBlock != null) parent = getParentFor(offset, previousBlock); if (parent == null) return new IndentInfo(0, 0, 0); } int index = getNewChildPosition(parent, offset); final Block block = myWrapState.getBlockToInfoMap().get(parent); if (block == null) { return new IndentInfo(0, 0, 0); } ChildAttributesInfo info = getChildAttributesInfo(block, index, parent); if (info == null) { return new IndentInfo(0, 0, 0); } IndentAdjuster adjuster = myWrapState.getIndentAdjuster(); return adjuster.adjustLineIndent(info, current); }