code: private void categorizeReferenceFile(final Reference file) {
          // avoid files referred by coderef being added into wait list
          if (listFilter.getCoderefTargets().contains(file.filename)) {
              return;
          }
          if (isFormatDita(file.format) && listFilter.isDitaTopic() &&
                  !job.crawlTopics() &&
                  !listFilter.getConrefTargets().contains(file.filename)) {
              return;  // Do not process topics linked from within topics
          } else if ((isFormatDita(file.format) || ATTR_FORMAT_VALUE_DITAMAP.equals(file.format))) {
              addToWaitList(file);
          } else if (ATTR_FORMAT_VALUE_IMAGE.equals(file.format)) {
              formatSet.add(file);
              if (!exists(file.filename)) {
                  logger.warn(MessageUtils.getMessage("DOTX008E", file.filename.toString()).toString());
              }
          } else if (ATTR_FORMAT_VALUE_DITAVAL.equals(file.format)) {
              formatSet.add(file);
          } else {
              htmlSet.put(file.format, file.filename);
          }
      }
docs: Categorize file.
  
  @param file file system path with optional format