public static void withLevel(final Module module, final LanguageLevel level, final Runnable r) { final LanguageLevelProjectExtension projectExt = LanguageLevelProjectExtension.getInstance(module.getProject()); final LanguageLevel projectLevel = projectExt.getLanguageLevel(); final LanguageLevel moduleLevel = LanguageLevelModuleExtension.getInstance(module).getLanguageLevel(); try { projectExt.setLanguageLevel(level); setModuleLanguageLevel(module, level); r.run(); } finally { setModuleLanguageLevel(module, moduleLevel); projectExt.setLanguageLevel(projectLevel); } }