@Override
	public boolean isCellEditable(int rowIndex, int columnIndex) {
		if (getNumSelectedRows() != 1) {
			return false;
		}
		int numComponents = getNumComponents();
		if ((rowIndex < 0) || (rowIndex > numComponents)) {
			return false;
		}
		// There shouldn't be a selection when this is called.
		switch (columnIndex) {
			case DATATYPE:
				if ((rowIndex >= 0) && (rowIndex <= numComponents)) {
					return true;
				}
				return false;
			case FIELDNAME:
			case COMMENT:
				if (rowIndex >= numComponents) {
					return false;
				}
				DataType dt = getComponent(rowIndex).getDataType();
				if (dt == DataType.DEFAULT) {
					return false;
				}
				return true;
			default:
				return false; // User can't edit any other fields.
		}
	}
returns whether or not a particular component row and field in this
 structure is editable.
 <P>Warning: There shouldn't be a selection when this is called.

@param rowIndex the row index in the component table.
@param columnIndex the index for the field of the component.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/compositeeditor/UnionEditorModel.java