boolean (@NotNull Project project, Editor editor, PsiFile file) { int offset = editor.getCaretModel().getOffset(); PsiElement element = file.findElementAt(offset); if (element == null || element instanceof PsiWhiteSpace) { return false; } PsiReference reference = file.findReferenceAt(offset); FileReference fileReference = reference == null ? null : FileReference.findFileReference(reference); if (fileReference != null) { FileReferenceSet set = fileReference.getFileReferenceSet(); FileReference lastReference = set.getLastReference(); return set.couldBeConvertedTo(isConvertToRelative()) && lastReference != null && (!isConvertToRelative() && !set.isAbsolutePathReference() || isConvertToRelative() && set.isAbsolutePathReference()) && lastReference.resolve() != null; } return false; }