public function writeObject($className, $objectFields, IProtocolFormatter $writer) { if (is_null($className)) { $writer->beginWriteObjectMap(count($objectFields)); } else { $writer->beginWriteNamedObject($className, count($objectFields)); } $keys = array_keys($objectFields); $fieldCount = count($objectFields); for ($i = 0; $i < $fieldCount; $i++) { $fieldName = $keys[$i]; $writer->writeFieldName($fieldName); $writer->beginWriteFieldValue(); try { MessageWriter::writeObject($objectFields[$fieldName], $writer); } catch (Exception $exception) { if (LOGGING) { Log::logException(LoggingConstants::ERROR, "unable to serialize object's field " . $fieldName, $exception); } } $writer->endWriteFieldValue(); } if (is_null($className)) { $writer->endWriteObjectMap(); } else { $writer->endWriteNamedObject(); } }