PsiReference[] (@NotNull PsiElement element, @NotNull MavenDomConfiguration domCfg, @NotNull ProcessingContext context) { TextRange range = ElementManipulators.getValueTextRange(element); String text = range.substring(element.getText()); Matcher matcher = MavenPropertyResolver.PATTERN.matcher(text); if (matcher.find()) { return PsiReference.EMPTY_ARRAY; } return new PsiReference[] { new PsiReferenceBase<>(element, mySoft) { @Nullable @Override public PsiElement resolve() { if (mySoft) { return null; } if (Arrays.asList(myValues).contains(getValue())) { return getElement(); } return null; } @Override public Object @NotNull [] getVariants() { return myValues; } } }; }