NavigationItem (@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); }