@Override
  public void navigate(final boolean requestFocus) {
    if (isPhysical()) {
      super.navigate(requestFocus);
      return;
    }
    final PsiNamedElement psiNamedElement = XmlUtil.findRealNamedElement(this);
    Navigatable navigatable = PsiNavigationSupport.getInstance().getDescriptor(psiNamedElement);

    if (psiNamedElement instanceof XmlEntityDecl) {
      navigatable = PsiNavigationSupport.getInstance().createNavigatable(
        psiNamedElement.getProject(),
        psiNamedElement.getContainingFile().getVirtualFile(),
        psiNamedElement.getTextRange().getStartOffset() + psiNamedElement.getText().indexOf(getName())
      );
    }
    if (navigatable != null) {
      navigatable.navigate(requestFocus);
    }
  }
@Override
  public void navigate(final boolean requestFocus)