boolean () { Boolean accessible = myAccessible; if (accessible == null) { accessible = true; if (myPlace != null) { PsiResolveHelper helper = JavaPsiFacade.getInstance(myPlace.getProject()).getResolveHelper(); if (myCandidate instanceof PsiMember) { PsiMember member = (PsiMember)myCandidate; accessible = helper.isAccessible(member, member.getModifierList(), myPlace, myAccessClass, myCurrentFileResolveContext); if (accessible && member.hasModifierProperty(PsiModifier.PRIVATE) && myPlace instanceof PsiReferenceExpression && JavaVersionService.getInstance().isAtLeast(myPlace, JavaSdkVersion.JDK_1_7)) { accessible = !isAccessedThroughTypeParameterBound(); } } else if (myCandidate instanceof PsiPackage) { accessible = helper.isAccessible((PsiPackage)myCandidate, myPlace); } } myAccessible = accessible; } return accessible; }