public void trigger(FileEntry fileEntry) {
    if (!DLProcessorThreadLocal.isEnabled()) {
      return;
    }

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

    FileVersion latestFileVersion = _getLatestFileVersion(fileEntry);

    if (latestFileVersion == null) {
      return;
    }

    for (String dlProcessorClassName : _DL_FILE_ENTRY_PROCESSORS) {
      DLProcessor dlProcessor = (DLProcessor) InstancePool.get(dlProcessorClassName);

      if (dlProcessor.isSupported(latestFileVersion)) {
        dlProcessor.trigger(latestFileVersion);
      }
    }

    for (DLProcessor dlProcessor : _dlProcessors) {
      if (dlProcessor.isSupported(latestFileVersion)) {
        dlProcessor.trigger(latestFileVersion);
      }
    }
  }
  public void cleanUp(FileVersion fileVersion) {
    if (!DLProcessorThreadLocal.isEnabled()) {
      return;
    }

    for (String dlProcessorClassName : _DL_FILE_ENTRY_PROCESSORS) {
      DLProcessor dlProcessor = (DLProcessor) InstancePool.get(dlProcessorClassName);

      dlProcessor.cleanUp(fileVersion);
    }

    for (DLProcessor dlProcessor : _dlProcessors) {
      dlProcessor.cleanUp(fileVersion);
    }
  }