@Override
	public void setValueAt(Object value, int rowIndex, int columnIndex) {
		if (rowIndex >= refs.length) {
			return;
		}
		Reference ref = refs[rowIndex];
		switch (columnIndex) {

			case REF_TYPE_COL:
				if (ref.getReferenceType() != value) {
					Command<Program> cmd = new EditRefTypeCmd(ref, (RefType) value);
					plugin.getTool().execute(cmd, cu.getProgram());
				}
				break;

			case IS_PRIMARY_COL:
				Command<Program> cmd = new SetPrimaryRefCmd(ref, ((Boolean) value).booleanValue());
				plugin.getTool().execute(cmd, cu.getProgram());
				break;

			default:
				throw new RuntimeException("Column is not editable");
		}
	}
@see javax.swing.table.AbstractTableModel#setValueAt(java.lang.Object,
     int, int)
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/references/EditReferencesModel.java