boolean () { final CompositeAppearance oldText = myHighlightedText; final boolean isMeta = myTarget instanceof MetaTarget; setIcon(isMeta ? AntIcons.MetaTarget : AllIcons.Nodes.Target); myHighlightedText = new CompositeAppearance(); final AntBuildFile buildFile = isMeta ? ((MetaTarget)myTarget).getBuildFile() : myTarget.getModel().getBuildFile(); final Color color = buildFile.isTargetVisible(myTarget) ? UIUtil.getLabelForeground() : UIUtil.getLabelDisabledForeground(); TextAttributes nameAttributes = new TextAttributes(color, null, null, EffectType.BOXED, myTarget.isDefault() ? Font.BOLD : Font.PLAIN); myHighlightedText.getEnding().addText(myTarget.getDisplayName(), nameAttributes); AntConfigurationBase antConfiguration = AntConfigurationBase.getInstance(myProject); final ArrayList<String> addedNames = new ArrayList<>(4); for (final ExecutionEvent event : antConfiguration.getEventsForTarget(myTarget)) { final String presentableName; if ((event instanceof ExecuteCompositeTargetEvent)) { presentableName = ((ExecuteCompositeTargetEvent)event).getMetaTargetName(); if (presentableName.equals(myTarget.getName())) { continue; } } else { presentableName = event.getPresentableName(); } if (!addedNames.contains(presentableName)) { addedNames.add(presentableName); myHighlightedText.getEnding().addText(" (" + presentableName + ')', ourPostfixAttributes); } } final VirtualFile vFile = buildFile.getVirtualFile(); if (vFile != null) { for (AntBeforeRunTask task : RunManagerEx.getInstanceEx(myProject).getBeforeRunTasks(AntBeforeRunTaskProvider.ID)) { if (task.isRunningTarget(myTarget)) { myHighlightedText.getEnding().addText(AntBundle.message("ant.target.node.before.run.debug"), ourPostfixAttributes); break; } } } myName = myHighlightedText.getText(); final AntBuildTargetBase target = getTarget(); if (!addShortcutText(target.getActionId())) { if (target.isDefault()) { addShortcutText(((AntBuildModelBase)target.getModel()).getDefaultTargetActionId()); } } return !Comparing.equal(myHighlightedText, oldText); }