@Override
		protected TableColumnDescriptor<Map<String, Object>> createTableColumnDescriptor() {
			TableColumnDescriptor<Map<String, Object>> descriptor = new TableColumnDescriptor<>();
			for (SarifColumnKey column : sColumns) {
				if (column.getName().equals("Address")) {
					descriptor.addVisibleColumn(new Column<Address>(column.getName(), Address.class));
				} else if (column.isHidden()) {
					descriptor.addHiddenColumn(new Column<String>(column.getName(), String.class));
				} else {
					descriptor.addVisibleColumn(new Column<String>(column.getName(), String.class));
				}
			}
			return descriptor;
		}
Just a generic table model that can handle an arbitrary number and type of
columns
Ghidra/Features/Sarif/src/main/java/sarif/model/SarifResultsTableModelFactory.java