public void logDiagnostics(CompileContext context) {
    if (DIRTY_MARK.equals(myConfiguration)) {
      if (LOG.isDebugEnabled()) {
        LOG.debug(myTarget + " has been marked dirty in the previous compilation session");
      }
    }
    else {
      final String currentState = getCurrentState(context.getProjectDescriptor());
      if (!currentState.equals(myConfiguration)) {
        if (LOG.isDebugEnabled()) {
          LOG.debug(myTarget + " configuration was changed:");
          LOG.debug("Old:");
          LOG.debug(myConfiguration);
          LOG.debug("New:");
          LOG.debug(currentState);
          LOG.debug(myTarget + " will be recompiled");
        }
        if (myTarget instanceof ModuleBuildTarget) {
          final JpsModule module = ((ModuleBuildTarget)myTarget).getModule();
          synchronized (MODULES_WITH_TARGET_CONFIG_CHANGED_KEY) {
            Set<JpsModule> modules = MODULES_WITH_TARGET_CONFIG_CHANGED_KEY.get(context);
            if (modules == null) {
              MODULES_WITH_TARGET_CONFIG_CHANGED_KEY.set(context, modules = new HashSet<>());
            }
            modules.add(module);
          }
        }
      }
    }
  }
public void logDiagnostics(CompileContext context)