original_string: public function getRow($rowKey) : TableDataRow
      {
          $this->validateRowKey(__METHOD__, $rowKey);
          $this->loadRows();
  
          $rowHash = ValueHasher::hash($rowKey);
  
          if (!isset($this->rows[$rowHash])) {
              throw InvalidArgumentException::format(
                  'Invalid row key supplied to %s: expecting one of hashes (%s), value with \'%s\' hash given',
                  __METHOD__, Debug::formatValues(array_keys($this->rows)), $rowHash
              );
          }
  
          return $this->rows[$rowHash];
      }
code: public function getRow($rowKey) : TableDataRow
      {
          $this->validateRowKey(__METHOD__, $rowKey);
          $this->loadRows();
  
          $rowHash = ValueHasher::hash($rowKey);
  
          if (!isset($this->rows[$rowHash])) {
              throw InvalidArgumentException::format(
                  'Invalid row key supplied to %s: expecting one of hashes (%s), value with \'%s\' hash given',
                  __METHOD__, Debug::formatValues(array_keys($this->rows)), $rowHash
              );
          }
  
          return $this->rows[$rowHash];
      }
code_tokens: public function getRow ( $ rowKey ) : TableDataRow { $ this -> validateRowKey ( __METHOD__ , $ rowKey ) ; $ this -> loadRows ( ) ; $ rowHash = ValueHasher :: hash ( $ rowKey ) ; if ( ! isset ( $ this -> rows [ $ rowHash ] ) ) { throw InvalidArgumentException :: format ( 'Invalid row key supplied to %s: expecting one of hashes (%s), value with \'%s\' hash given' , __METHOD__ , Debug :: formatValues ( array_keys ( $ this -> rows ) ) , $ rowHash ) ; } return $ this -> rows [ $ rowHash ] ; }
docstring: Gets the table row with the supplied key.
  
  @param mixed $rowKey
  
  @return TableDataRow
  @throws InvalidArgumentException
  @throws TypeMismatchException
docstring_tokens: Gets the table row with the supplied key .