original_string: private function makeDataTableFromSingleBlob($blobRow, $keyMetadata)
      {
          $recordName = reset($this->dataNames);
          if ($this->idSubtable !== null) {
              $recordName .= '_' . $this->idSubtable;
          }
  
          if (!empty($blobRow[$recordName])) {
              $table = DataTable::fromSerializedArray($blobRow[$recordName]);
          } else {
              $table = new DataTable();
          }
  
          // set table metadata
          $table->setAllTableMetadata(array_merge(DataCollection::getDataRowMetadata($blobRow), $keyMetadata));
  
          if ($this->expandDataTable) {
              $table->enableRecursiveFilters();
              $this->setSubtables($table, $blobRow);
          }
  
          return $table;
      }
code: private function makeDataTableFromSingleBlob($blobRow, $keyMetadata)
      {
          $recordName = reset($this->dataNames);
          if ($this->idSubtable !== null) {
              $recordName .= '_' . $this->idSubtable;
          }
  
          if (!empty($blobRow[$recordName])) {
              $table = DataTable::fromSerializedArray($blobRow[$recordName]);
          } else {
              $table = new DataTable();
          }
  
          // set table metadata
          $table->setAllTableMetadata(array_merge(DataCollection::getDataRowMetadata($blobRow), $keyMetadata));
  
          if ($this->expandDataTable) {
              $table->enableRecursiveFilters();
              $this->setSubtables($table, $blobRow);
          }
  
          return $table;
      }
code_tokens: private function makeDataTableFromSingleBlob ( $ blobRow , $ keyMetadata ) { $ recordName = reset ( $ this -> dataNames ) ; if ( $ this -> idSubtable !== null ) { $ recordName .= '_' . $ this -> idSubtable ; } if ( ! empty ( $ blobRow [ $ recordName ] ) ) { $ table = DataTable :: fromSerializedArray ( $ blobRow [ $ recordName ] ) ; } else { $ table = new DataTable ( ) ; } // set table metadata $ table -> setAllTableMetadata ( array_merge ( DataCollection :: getDataRowMetadata ( $ blobRow ) , $ keyMetadata ) ) ; if ( $ this -> expandDataTable ) { $ table -> enableRecursiveFilters ( ) ; $ this -> setSubtables ( $ table , $ blobRow ) ; } return $ table ; }
docstring: Creates a DataTable for one record from an archive data row.
  
  @see makeFromBlobRow
  
  @param array $blobRow
  @return DataTable
docstring_tokens: Creates a DataTable for one record from an archive data row .