private static TextRange getSignificantRange(final PsiFile file, final int offset) {
    final ASTNode elementAtOffset =
      SourceTreeToPsiMap.psiElementToTree(CoreCodeStyleUtil.findElementInTreeWithFormatterEnabled(file, offset));
    if (elementAtOffset == null) {
      int significantRangeStart = CharArrayUtil.shiftBackward(file.getText(), offset - 1, "\n\r\t ");
      return new TextRange(Math.max(significantRangeStart, 0), offset);
    }

    final FormattingModelBuilder builder = LanguageFormatting.INSTANCE.forContext(file);
    if (builder != null) {
      final TextRange textRange = builder.getRangeAffectingIndent(file, offset, elementAtOffset);
      if (textRange != null) {
        return textRange;
      }
    }

    final TextRange elementRange = elementAtOffset.getTextRange();
    if (isWhiteSpace(elementAtOffset)) {
      return extendRangeAtStartOffset(file, elementRange);
    }
    
    return elementRange;
  }
private static TextRange getSignificantRange(final PsiFile file, final int offset)