public function write($output)
{
$xfer = 0;
$xfer += $output->writeStructBegin('Cell');
if ($this->key !== null) {
if (!is_object($this->key)) {
throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
}
$xfer += $output->writeFieldBegin('key', TType::STRUCT, 1);
$xfer += $this->key->write($output);
$xfer += $output->writeFieldEnd();
}
if ($this->value !== null) {
$xfer += $output->writeFieldBegin('value', TType::STRING, 2);
$xfer += $output->writeString($this->value);
$xfer += $output->writeFieldEnd();
}
$xfer += $output->writeFieldStop();
$xfer += $output->writeStructEnd();
return $xfer;
}