@Override
  public boolean canNavigate() {
    final PsiElement psiElement = getPsiElement();
    if (psiElement == null) return false;
    PsiFile containingFile = psiElement.getContainingFile();
    if (containingFile == null) return false;
    final VirtualFile virtualFile = containingFile.getVirtualFile();
    return virtualFile != null && virtualFile.isValid();
  }
@Override
  public boolean canNavigate()