@Override
  public void trigger(FileEntry fileEntry, FileVersion fileVersion, boolean trusted) {

    if (!DLProcessorThreadLocal.isEnabled()) {
      return;
    }

    if ((fileEntry == null) || (fileEntry.getSize() == 0)) {
      return;
    }

    FileVersion latestFileVersion = _getLatestFileVersion(fileEntry, trusted);

    if (latestFileVersion == null) {
      return;
    }

    Iterable<String> dlProcessorTypes = _dlProcessorServiceTrackerMap.keySet();

    for (String dlProcessorType : dlProcessorTypes) {
      DLProcessor dlProcessor = _dlProcessorServiceTrackerMap.getService(dlProcessorType);

      if (dlProcessor.isSupported(latestFileVersion)) {
        dlProcessor.trigger(fileVersion, latestFileVersion);
      }
    }
  }
  @Override
  public void cleanUp(FileVersion fileVersion) {
    if (!DLProcessorThreadLocal.isEnabled()) {
      return;
    }

    Iterable<String> dlProcessorTypes = _dlProcessorServiceTrackerMap.keySet();

    for (String dlProcessorType : dlProcessorTypes) {
      DLProcessor dlProcessor = _dlProcessorServiceTrackerMap.getService(dlProcessorType);

      if (dlProcessor.isSupported(fileVersion)) {
        dlProcessor.cleanUp(fileVersion);
      }
    }
  }