void (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); } } } } }