static FindExceptCommentsOrLiteralsData create(@NotNull VirtualFile file,
                                                   @NotNull FindModel model,
                                                   @NotNull CharSequence text,
                                                   @NotNull FindManagerImpl manager) {
      TreeMap<Integer, Integer> skipRangesSet = new TreeMap<>();

      if (model.isExceptComments() || model.isExceptCommentsAndStringLiterals()) {
        addRanges(file, model, text, skipRangesSet, FindModel.SearchContext.IN_COMMENTS, manager);
      }

      if (model.isExceptStringLiterals() || model.isExceptCommentsAndStringLiterals()) {
        addRanges(file, model, text, skipRangesSet, FindModel.SearchContext.IN_STRING_LITERALS, manager);
      }

      return new FindExceptCommentsOrLiteralsData(file, model.clone(), ImmutableCharSequence.asImmutable(text), skipRangesSet);
    }
static FindExceptCommentsOrLiteralsData create(@NotNull VirtualFile file,
                                                   @NotNull FindModel model,
                                                   @NotNull CharSequence text,
                                                   @NotNull FindManagerImpl manager)