private void addCompiler(@NotNull Compiler compiler, @NotNull final String factoryId) {
    myCompilers.put(compiler, factoryId);
    // supporting file instrumenting compilers and validators for external build
    // Since these compilers are IDE-specific and use PSI, it is ok to run them before and after the build in the IDE
    if (compiler instanceof SourceInstrumentingCompiler) {
      addBeforeTask(new FileProcessingCompilerAdapterTask((FileProcessingCompiler)compiler));
    }
    else if (compiler instanceof Validator) {
      addAfterTask(new FileProcessingCompilerAdapterTask((FileProcessingCompiler)compiler));
    }
  }
private void addCompiler(@NotNull Compiler compiler, @NotNull final String factoryId)