@Nullable
  static NavigationItem wrap(@Nullable PsiElement item) {
    if (!(item instanceof NavigationItem)) return null;
    PsiMetaData metaData0 = item instanceof PsiMetaOwner ? ((PsiMetaOwner)item).getMetaData() : null;
    PsiPresentableMetaData metaData = metaData0 instanceof PsiPresentableMetaData ? (PsiPresentableMetaData)metaData0 : null;
    ItemPresentation presentation = metaData != null ? new ColoredItemPresentation() {
      @Override
      public String getPresentableText() {
        return metaData.getName();
      }

      @NotNull
      @Override
      public String getLocationString() {
        return MyNavigationItem.getLocationString(item);
      }

      @Override
      @Nullable
      public Icon getIcon(boolean open) {
        return metaData.getIcon();
      }

      @Nullable
      @Override
      public TextAttributesKey getTextAttributesKey() {
        ItemPresentation p = ((NavigationItem)item).getPresentation();
        return p instanceof ColoredItemPresentation ? ((ColoredItemPresentation)p).getTextAttributesKey() : null;
      }
    } : ((NavigationItem)item).getPresentation();
    return presentation == null ? null : new MyNavigationItem((NavigationItem)item, presentation);
  }
@Nullable
  static NavigationItem wrap(@Nullable PsiElement item)