public IndentInfo getIndentAt(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);
  }
public IndentInfo getIndentAt(final int offset)