boolean (final @NotNull Project project, final Editor editor, final PsiFile file) { if (!myIsAvailableEvaluated) { final XmlTag tag = PsiTreeUtil.getParentOfType(myRef.getElement(), XmlTag.class); if (tag != null && tag.isValid()) { final XsdNsDescriptor descriptor = myRef.getDescriptor(tag, myRef.getCanonicalText(), new boolean[1]); if (descriptor != null && descriptor.getDescriptorFile() != null && descriptor.getDescriptorFile().isWritable() ) { myTargetFile = descriptor.getDescriptorFile(); } } myIsAvailableEvaluated = true; } return myTargetFile != null; }