private InstructionTableDataObject[][] processOperand(int row, int col,
			InstructionTableDataObject[][] dataObjects) {

		// Just make sure the col is > 0...this is processing operands so a value of 0 would be 
		// a mnemonic, and a negative number is just meaningless.
		if (col <= 0) {
			return null;
		}

		OperandMetadata operandMetadata = null;

		// First get the operand information (if any exist) for this instruction.
		// Note, the getOperands() call will never return null so we're safe here.
		List<OperandMetadata> operands =
			dialog.getSearchData().getInstructions().get(row).getOperands();
		if (operands.size() > col - 1) {
			operandMetadata =
				dialog.getSearchData().getInstructions().get(row).getOperands().get(col - 1);
		}

		// If here then we have a valid operand, so store it.
		if (operandMetadata != null) {
			InstructionTableDataObject obj =
				new InstructionTableDataObject(operandMetadata.getTextRep(),
					dialog.getSearchData().getInstructions().get(row).isInstruction(),
					OperandState.NOT_MASKED);
			obj.setOperandCase(operandMetadata);
			dataObjects[row][col] = obj;
		}

		// If here then the instruction has no operands, which isn't an error.  We just need
		// to create an empty data object for the table to display.  Setting the state to 
		// NA will cause it to not be able to be toggled on/off by the user.
		else {
			dataObjects[row][col] = new InstructionTableDataObject("",
				dialog.getSearchData().getInstructions().get(row).isInstruction(), OperandState.NA);
		}

		return dataObjects;
	}
Creates a new {@link InstructionTableDataObject} for the given operand.

@param col the column in the table
@param dataObjects the set of data objects to modify
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/instructionsearch/ui/InstructionTable.java