src/vs/workbench/browser/parts/banner/bannerPart.ts/BannerPart/show
class BannerPart:	show(item: IBannerItem): void {
		if (item.id === this.item?.id) {
			this.setVisibility(true);
			return;
		}

		// Clear previous item
		clearNode(this.element);

		// Banner aria label
		const ariaLabel = this.getAriaLabel(item);
		if (ariaLabel) {
			this.element.setAttribute('aria-label', ariaLabel);
		}

		// Icon
		const iconContainer = append(this.element, $('div.icon-container'));
		iconContainer.setAttribute('aria-hidden', 'true');
		iconContainer.appendChild($(`div${item.icon.cssSelector}`));

		// Message
		const messageContainer = append(this.element, $('div.message-container'));
		messageContainer.setAttribute('aria-hidden', 'true');
		messageContainer.appendChild(this.getBannerMessage(item.message));

		// Message Actions
		if (item.actions) {
			this.messageActionsContainer = append(this.element, $('div.message-actions-container'));

			for (const action of item.actions) {
				const actionLink = this._register(this.instantiationService.createInstance(Link, action, {}));
				actionLink.el.tabIndex = -1;
				actionLink.el.setAttribute('role', 'button');
				this.messageActionsContainer.appendChild(actionLink.el);
			}
		}

		// Action
		const actionBarContainer = append(this.element, $('div.action-container'));
		this.actionBar = this._register(new ActionBar(actionBarContainer));
		const closeAction = this._register(new Action('banner.close', 'Close Banner', bannerCloseIcon.classNames, true, () => this.close(item)));
		this.actionBar.push(closeAction, { icon: true, label: false });
		this.actionBar.setFocusable(false);

		this.setVisibility(true);
		this.item = item;
	}