private Pair<String, ValueSource> getValueAndSource(final CompilerOptionInfo info) { assert !info.isGroup() : info.DISPLAY_NAME; final String bcLevelValue = myBC.getCompilerOptions().getOption(info.ID); if (bcLevelValue != null) return Pair.create(bcLevelValue, ValueSource.BC); final String moduleLevelValue = myModuleLevelCompilerOptions.getOption(info.ID); if (moduleLevelValue != null) return Pair.create(moduleLevelValue, ValueSource.ModuleDefault); final String projectLevelValue = myProjectLevelCompilerOptions.getOption(info.ID); if (projectLevelValue != null) return Pair.create(projectLevelValue, ValueSource.ProjectDefault); return Pair.create( info.getDefaultValue( mySdk.getVersionString(), myBC.getNature(), myBC.getDependencies().getComponentSet()), ValueSource.GlobalDefault); }