class_docstr: Container that represents a single row in a table of outputs.
  
  We represent outputs as a table. This class represents a single row in the
  table like a dictionary, where the key is the column name and the value is the
  cell value.
  
  A single cell is designated the "result". This contains the output of the LLM
  model after running any post-processing functions specified by the user.
  
  In addition to behaving like a dictionary, this class provides additional
  methods, including:
  - Getting the value of the "result" cell
  - Setting the value (and optionally the key) of the "result" cell.
  - Add a new non-result cell
  
  Notes: As an implementation detail, the result-cell is always kept as the
  rightmost cell.
docstr: Add a non-result cell.
  
  Adds a new non-result cell. This does not affect the result cell.
  
  Args:
    key: The key of the new cell to add.
    value: The value of the new cell to add.
docstr_tok: ["Add","a","non-result","cell",".","Adds","a","new","non-result","cell",".","This","does","not","affect","the","result","cell",".","Args",":","key",":","The","key","of","the","new","cell","to","add",".","value",":","The","value","of","the","new","cell","to","add","."]
code: def add(self, key: str, value: _CELLVALUETYPE) -> None:
      """Add a non-result cell.
  
      Adds a new non-result cell. This does not affect the result cell.
  
      Args:
        key: The key of the new cell to add.
        value: The value of the new cell to add.
      """
      # Handle collisions with `key`.
      if key in self._data:
          idx = 1
          candidate_key = key
          while candidate_key in self._data:
              candidate_key = "{}_{}".format(key, idx)
              idx = idx + 1
          key = candidate_key
  
      # Insert the new key/value into the second rightmost position to keep
      # the result cell as the rightmost cell.
      result_key = self.result_key()
      result_value = self._data.pop(result_key)
      self._data[key] = value
      self._data[result_key] = result_value
  
imports: from __future__ import annotations
  import abc
  from typing import Any, Iterator, Mapping
label_desc: Use image node_id 11 for calling the LLMFnOutputRow obj's underlying member method code with example usage: obj.add(key, value) without return types