boolean () { boolean changes = super.update(); final CompositeAppearance oldText = myHighlightedText; myHighlightedText = new CompositeAppearance(); NavigatablePsiElement element = (NavigatablePsiElement)getPsiElement(); if (element == null) { return invalidElement(); } final ItemPresentation presentation = element.getPresentation(); if (presentation != null) { if (element instanceof PyFunction) { final PyClass cls = ((PyFunction)element).getContainingClass(); if (cls != null) { myHighlightedText.getEnding().addText(cls.getName() + "."); } } myHighlightedText.getEnding().addText(presentation.getPresentableText()); int count = myUsages.size(); if (count > 1) { String text = " " + IdeBundle.message("node.call.hierarchy.N.usages", count); myHighlightedText.getEnding().addText(text, HierarchyNodeDescriptor.getUsageCountPrefixAttributes()); } String locationString = presentation.getLocationString(); if (locationString != null) { myHighlightedText.getEnding().addText(" " + locationString, HierarchyNodeDescriptor.getPackageNameAttributes()); } } myName = myHighlightedText.getText(); if (!Comparing.equal(myHighlightedText, oldText)) { changes = true; } return changes; }