@Nullable
    public Data createState(@Nullable List<? extends LineRange> changedLines,
                            @NotNull Settings settings,
                            @NotNull Document document,
                            @NotNull LineNumberConvertor lineConvertor,
                            int lineCount) {
      Iterator<int[]> it = map(changedLines, line -> new int[]{
        line.start,
        line.end
      });

      if (it == null || settings.range == -1) return null;

      myLineNumberConvertor = new DisposableLineNumberConvertor(lineConvertor);
      MyFoldingBuilder builder = new MyFoldingBuilder(document, myLineNumberConvertor, lineCount, settings);
      return builder.build(it);
    }
@Nullable
    public Data createState(@Nullable List<? extends LineRange> changedLines,
                            @NotNull Settings settings,
                            @NotNull Document document,
                            @NotNull LineNumberConvertor lineConvertor,
                            int lineCount)