docs: private FileBatch onFileConflictDetect(FileConflictDetectEvent event) {
          final FileBatch fileBatch = event.getFileBatch();
          if (CollectionUtils.isEmpty(fileBatch.getFiles())) {
              return fileBatch;
          }
  
          ExecutorTemplate executorTemplate = executorTemplateGetter.get();
          try {
              MDC.put(OtterConstants.splitPipelineLoadLogFileKey, String.valueOf(fileBatch.getIdentity().getPipelineId()));
              executorTemplate.start();
              // 重新设置下poolSize
              Pipeline pipeline = configClientService.findPipeline(fileBatch.getIdentity().getPipelineId());
              executorTemplate.adjustPoolSize(pipeline.getParameters().getFileLoadPoolSize());
              // 启动
              final List<FileData> result = Collections.synchronizedList(new ArrayList<FileData>());
              final List<FileData> filter = Collections.synchronizedList(new ArrayList<FileData>());
              for (final FileData source : fileBatch.getFiles()) {
                  EventType type = source.getEventType();
                  if (type.isDelete()) {
                      result.add(source);
                  } else {
                      executorTemplate.submit(new Runnable() {
  
                          public void run() {
                              MDC.put(OtterConstants.splitPipelineLoadLogFileKey,
                                      String.valueOf(fileBatch.getIdentity().getPipelineId()));
                              // 处理更新类型
                              String namespace = source.getNameSpace();
                              String path = source.getPath();
                              FileData target = null;
  
                              int count = 0;
                              while (count++ < retry) {// 进行重试处理
                                  try {
                                      if (true == StringUtils.isBlank(namespace)) {
                                          // local file
                                          java.io.File targetFile = new java.io.File(path);
                                          if (true == targetFile.exists()) {
                                              // modified time cost
                                              long lastModified = targetFile.lastModified();
                                              long size = targetFile.length();
                                              // 更新数据
                                              target = new FileData();
                                              target.setLastModifiedTime(lastModified);
                                              target.setSize(size);
                                          }
                                      } else {
                                          // remote file
                                          throw new RuntimeException(source + " is not support!");
                                      }
  
                                      break; // 不出异常就跳出
                                  } catch (Exception ex) {
                                      target = null;
                                  }
                              }
  
                              boolean shouldSync = false;
                              if (target != null) {
                                  if (true == accept(target, source)) {
                                      shouldSync = true;
                                  }
                              } else {
                                  shouldSync = true;
                              }
  
                              if (true == shouldSync) {
                                  result.add(source);
                              } else {
                                  filter.add(source);
                              }
                          }
                      });
                  }
              }
              // 等待所有都处理完成
              executorTemplate.waitForResult();
  
              if (pipeline.getParameters().getDumpEvent() && logger.isInfoEnabled()) {
                  logger.info(FileloadDumper.dumpFilterFileDatas(fileBatch.getIdentity(), fileBatch.getFiles().size(),
                                                                 result.size(), filter));
              }
  
              // 构造返回结果
              FileBatch target = new FileBatch();
              target.setIdentity(fileBatch.getIdentity());
              target.setFiles(result);
              return target;
          } finally {
              if (executorTemplate != null) {
                  executorTemplateGetter.release(executorTemplate);
              }
  
              MDC.remove(OtterConstants.splitPipelineLoadLogFileKey);
          }
      }