/**
  *
  * @param \blaze\lang\Reflectable $object
  * @todo implement a working version(recursive writeObjectOverride!)
  */
 public function writeObjectOverride(\blaze\lang\Reflectable $object)
 {
     if (!$object instanceof \blaze\io\Serializable) {
         throw new \blaze\io\NotSerializableException();
     }
     $class = $object->getClass();
     $method = $class->getMethod('writeObject');
     if ($method != null) {
         $className = $class->getName();
         $ser = 'O:' . $className->length() . ':"' . $className->toNative() . '":';
         $this->current = $object;
         $method->invoke($object, $this);
         $this->current = null;
     } else {
         $this->out->write(serialize($object));
     }
 }