void (@NotNull final PsiReferenceRegistrar registrar) { final PsiReferenceProvider filePathReferenceProvider = new FilePathReferenceProvider() { @Override public PsiReference @NotNull [] getReferencesByElement(@NotNull PsiElement element, @NotNull String text, int offset, boolean soft) { PsiReference[] references = super.getReferencesByElement(element, text, offset, soft); return references.length > 100 ? PsiReference.EMPTY_ARRAY : references; } }; registrar.registerReferenceProvider(PlatformPatterns.psiElement(PsiLiteralExpression.class).and(new FilterPattern(new ElementFilter() { @Override public boolean isAcceptable(Object element, PsiElement context) { return !JavaI18nUtil.mustBePropertyKey((PsiLiteralExpression) context, null); } @Override public boolean isClassAcceptable(Class hintClass) { return true; } })), filePathReferenceProvider, PsiReferenceRegistrar.LOWER_PRIORITY); registrar.registerReferenceProvider(PlatformPatterns.psiElement(PsiDocToken.class), CommentsReferenceContributor.COMMENTS_REFERENCE_PROVIDER_TYPE.getProvider()); }