void (StackFrameDescriptorImpl descriptor, @NotNull ColoredTextContainer component, @Nullable StackFrameDescriptorImpl selectedDescriptor) { component.setIcon(descriptor.getIcon()); final ValueMarkup markup = descriptor.getValueMarkup(); if (markup != null) { component.append("[" + markup.getText() + "] ", new SimpleTextAttributes(SimpleTextAttributes.STYLE_BOLD, markup.getColor())); } final String label = descriptor.getLabel(); final int openingBrace = label.indexOf("{"); final int closingBrace = (openingBrace < 0) ? -1 : label.indexOf("}"); final SimpleTextAttributes attributes = getAttributes(descriptor); if (openingBrace < 0 || closingBrace < 0) { component.append(label, attributes); } else { component.append(label.substring(0, openingBrace - 1), attributes); component.append(" (" + label.substring(openingBrace + 1, closingBrace) + ")", SimpleTextAttributes.GRAY_ITALIC_ATTRIBUTES); component.append(label.substring(closingBrace + 1), attributes); } if (isOccurrenceOfSelectedFrame(selectedDescriptor, descriptor) && descriptor.isRecursiveCall()) { component.append(" [" + descriptor.getOccurrenceIndex() + "]", SimpleTextAttributes.REGULAR_BOLD_ATTRIBUTES); } }