@Override
		public Component getListCellRendererComponent(JList<? extends SearchListEntry<T>> list,
				SearchListEntry<T> value, int index, boolean isSelected, boolean cellHasFocus) {
			panel.removeAll();
			categoryLabel.setText("");
			panel.setBorder(normalBorder);

			// only display the category for the first entry in that category
			if (value.showCategory()) {
				categoryLabel.setText(value.category());
			}

			// Display a separator at the bottom of the last entry in the category to make
			// category boundaries
			if (value.drawSeparator()) {
				panel.setBorder(lastEntryBorder);
				panel.add(jSeparator, BorderLayout.SOUTH);
			}
			Dimension size = categoryLabel.getPreferredSize();
			categoryLabel.setPreferredSize(new Dimension(categoryWidth, size.height));
			Component itemRendererComp =
				itemRenderer.getListCellRendererComponent(list, value, index, isSelected, false);

			Color background = itemRendererComp.getBackground();
			if (showCategories) {
				panel.add(categoryLabel, BorderLayout.WEST);
			}
			panel.add(itemRendererComp, BorderLayout.CENTER);
			panel.setBackground(background);
			categoryLabel.setOpaque(true);
			categoryLabel.setBackground(background);
			categoryLabel.setForeground(itemRendererComp.getForeground());
			panel.getAccessibleContext()
					.setAccessibleName(getDisplayName(value.value(), value.category()));
			return panel;
		}
Disposes the component and clears all the model data
Ghidra/Framework/Docking/src/main/java/docking/widgets/searchlist/SearchList.java