private TableCellRenderer getCellRenderer(JTable table, int row, int column) {

		// 
		// Step 1: See if we can use our custom rendering lookup        
		// 
		if (table instanceof GTable) {
			GTable gTable = (GTable) table;
			return gTable.getCellRendererOverride(row, column);
		}

		// 
		// Step 2: Locate normal JTable-style rendering   
		//
		TableColumn tableColumn = table.getColumnModel().getColumn(column);
		TableCellRenderer renderer = tableColumn.getCellRenderer();
		if (renderer == null) {
			renderer = table.getDefaultRenderer(table.getColumnClass(column));
		}
		return renderer;
	}
What: A cell renderer that will attempt to use any registered cell renderer and will otherwise
      default to the parent rendering implementation.
Why:  Sometimes the need arises to be able to use the default table rendering while adding 
      additional rendering (e.g., to be able to add row coloring).
How:  Create a cell renderer that extends this class and install that into your table.  Then,
      override {@link #getTableCellRendererComponent(JTable, Object, boolean, boolean, int, int)}
      to call this class' implementation.  Finally, add desired decoration.
Ghidra/Features/Base/src/main/java/ghidra/util/table/CompositeGhidraTableCellRenderer.java