@Override
		public Object getValueAt(int row, int column) {
			if (instruction == null) {
				return null;
			}
			if (column == 0) {
				switch (row) {
					case 0:
						return "Operand";
					case 1:
						return "Labeled";
					case 2:
						return "Type";
					case 3:
						return "Scalar";
					case 4:
						return "Address";
					case 5:
						return "Register";
					case 6:
						return "Op-Objects";
					case 7:
						return "Operand Mask";
					case 8:
						return "Masked Value";
				}
			}
			int opIndex = column - 1;
			if (opIndex >= instruction.getNumOperands()) {
				return "";
			}
			switch (row) {
				case 0:
					return instruction.getDefaultOperandRepresentation(opIndex);
				case 1:
					return CodeUnitFormat.DEFAULT.getOperandRepresentationList(instruction,
						opIndex);
				case 2:
					return OperandType.toString(instruction.getOperandType(opIndex));
				case 3:
					return instruction.getScalar(opIndex);
				case 4:
					Address addr = instruction.getAddress(opIndex);
					return addr != null ? addr.toString(true) : "";
				case 5:
					return instruction.getRegister(opIndex);
				case 6:
					return getString(
						InstructionUtils.getFormatedOperandObjects(instruction, opIndex));
				case 7:
					return debug != null ? debug.getFormattedInstructionMask(opIndex) : null;
				case 8:
					return debug != null ? debug.getFormattedMaskedValue(opIndex) : null;
			}

			return "";
		}
Returns an attribute value for the cell at <I>row</I>
and <I>column</I>.

@param   row             the row whose value is to be looked up
@param   column          the column whose value is to be looked up
@return                  the value Object at the specified cell
@exception  ArrayIndexOutOfBoundsException  if an invalid row or
              column was given.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/processors/InstructionInfoProvider.java