public function write(&$obj, IProtocolFormatter $writer)
 {
     $writer->beginWriteArray(count($obj));
     $keys = array_keys($obj);
     $size = count($obj);
     for ($index = 0; $index < $size; $index++) {
         MessageWriter::writeObject($obj[$keys[$index]], $writer);
     }
     $writer->endWriteArray();
 }
 public function write(&$obj, IProtocolFormatter $writer)
 {
     $writer->beginWriteArray($obj->count());
     $iterator = $obj->getIterator();
     while ($iterator->valid()) {
         MessageWriter::writeObject($iterator->current(), $writer);
         $iterator->next();
     }
     $writer->endWriteArray();
 }