private void combineScopesWith(@NotNull TextRange scope, int fileLength, @NotNull Document document) {
      dirtyScopes.replaceAll((__, oldScope) -> {
        RangeMarker newScope = combineScopes(oldScope, scope, fileLength, document);
        if (newScope != oldScope && oldScope != null) {
          oldScope.dispose();
        }
        return newScope;
      });
    }
private void combineScopesWith(@NotNull TextRange scope, int fileLength, @NotNull Document document)