void (PsiMethod newMethod) { LanguageLevel languageLevel = PsiUtil.getLanguageLevel(myTargetClass); if (languageLevel.isAtLeast(LanguageLevel.JDK_1_8)) { if (!isStatic()) { final PsiMethod containingMethod = PsiTreeUtil.getParentOfType(myCodeFragmentMember, PsiMethod.class, false); if (containingMethod != null && containingMethod.hasModifierProperty(PsiModifier.DEFAULT)) { if (languageLevel.isAtLeast(LanguageLevel.JDK_1_9)) { PsiUtil.setModifierProperty(newMethod, PsiModifier.PRIVATE, true); // don't increase the API surface } else { PsiUtil.setModifierProperty(newMethod, PsiModifier.DEFAULT, true); } } } PsiUtil.setModifierProperty(newMethod, PsiModifier.PUBLIC, false); PsiUtil.setModifierProperty(newMethod, PsiModifier.PROTECTED, false); if (isStatic() || !languageLevel.isAtLeast(LanguageLevel.JDK_1_9)) { PsiUtil.setModifierProperty(newMethod, PsiModifier.PRIVATE, false); } } }