private static final SoftReference<List<PsiElement>> NULL_REFERENCE = new SoftReference<List<PsiElement>>(null);
private SoftReference<List<PsiElement>> myDefaultPackageContent = NULL_REFERENCE;
private Runnable myPackagesEraser = null;
public void handleEmptyContext(PsiScopeProcessor processor, PsiElement position) {
final ElementClassHint hint = processor.getHint(ElementClassHint.class);
if (position == null) return;
if (hint == null || hint.shouldProcess(PsiPackage.class) || hint.shouldProcess(PsiClass.class)) {
final List<PsiElement> cachedPackages = getDefaultPackages(position);
for (final PsiElement psiPackage : cachedPackages) {
if (!processor.execute(psiPackage, PsiSubstitutor.EMPTY)) return;
}
}