@Override
      public @NotNull Map<String, List<FileIncludeInfoImpl>> map(@NotNull FileContent inputData, @NotNull Set<FileIncludeProvider> providers) {
        Map<String, List<FileIncludeInfoImpl>> map = FactoryMap.create(key -> new ArrayList<>());
        for (FileIncludeProvider provider : providers) {
          FileIncludeInfo[] includeInfos;
          try {
            includeInfos = provider.getIncludeInfos(inputData);
          } catch (Exception e) {
            if (e instanceof ControlFlowException) throw e;
            throw new MapReduceIndexMappingException(e, provider.getClass());
          }
          for (FileIncludeInfo info : includeInfos) {
            FileIncludeInfoImpl impl = new FileIncludeInfoImpl(info.path, info.offset, info.runtimeOnly, provider.getId());
            map.get(info.fileName).add(impl);
          }
        }
        return map;
      }
@Override
      public @NotNull Map<String, List<FileIncludeInfoImpl>> map(@NotNull FileContent inputData, @NotNull Set<FileIncludeProvider> providers)