private static List<Indent.Type> getIndentOnStartOffset(Block block, TextRange range, int startOffset) {
    List<Indent.Type> indentsOnStartOffset = new ArrayList<>();
    
    while (block != null && range.getStartOffset() == startOffset) {
      Indent.Type type = block.getIndent() != null ? block.getIndent().getType() : Indent.Type.CONTINUATION_WITHOUT_FIRST;
      indentsOnStartOffset.add(type);
      
      if (block instanceof AbstractBlock) {
        ((AbstractBlock)block).setBuildIndentsOnly(true);
      }
      List<Block> subBlocks = block.getSubBlocks();
      block = subBlocks.isEmpty() ? null : subBlocks.get(0);
    }
    
    return indentsOnStartOffset;
  }
private static List<Indent.Type> getIndentOnStartOffset(Block block, TextRange range, int startOffset)