@Override
		public Component getTableCellRendererComponent(GTableCellRenderingData data) {
			Component c = super.getTableCellRendererComponent(data);

			JTable table = data.getTable();
			int nameColumn = table.getColumnModel().getColumnIndex("Name");

			int row = data.getRowViewIndex();
			FunctionTagTableModel model = (FunctionTagTableModel) table.getModel();
			FunctionTagRowObject rowObject = model.getRowObject(row);

			boolean enableRow = true;
			if (disable && function != null) {
				String tagName = rowObject.getName();
				Set<FunctionTag> tags = function.getTags();
				enableRow = !tags.stream().anyMatch(t -> t.getName().equals(tagName));
			}
			c.setEnabled(enableRow);

			int column = data.getColumnViewIndex();
			if (column == nameColumn) {
				if (rowObject.isImmutable()) {
					setItalic();
				}
			}

			return c;
		}
We need to override the renderer for the following cases:
<ul>
  <li>italicize tags that cannot be edited</li>
  <li>disable rows in the source table that have already been added to the selected function </li>
</ul>
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/function/tags/FunctionTagTable.java