@Override
	public boolean isCellEditable(int rowIndex, int columnIndex) {
		DynamicTableColumn<R, ?, ?> column = tableColumns.get(columnIndex);
		if (!(column instanceof EditableDynamicTableColumn)) {
			return false;
		}
		@SuppressWarnings("unchecked") // tableColumns doesn't include DATA_SOURCE
		EditableDynamicTableColumn<R, ?, Void> editable =
			(EditableDynamicTableColumn<R, ?, Void>) column;
		synchronized (modelData) {
			if (rowIndex < 0 || rowIndex >= modelData.size()) {
				return false;
			}
			R row = modelData.get(rowIndex);
			return editable.isEditable(row, columnSettings.get(column), getDataSource(),
				serviceProvider);
		}
	}
Get the default sort order of the table

@return the list of columns in order of descending priority
Ghidra/Debug/ProposedUtils/src/main/java/docking/widgets/table/DefaultEnumeratedColumnTableModel.java