private function append($x)
 {
     $this->buffer->append(EscapeUtil::escape($x))->append(RPC_SEPARATOR_CHAR);
 }
 public function endVisitString(StringValueCommand $x, Context $ctx)
 {
     if ($this->parent->hasBackRef($x)) {
         if (!$this->isStarted($x)) {
             $escaped = EscapeUtil::escape($x->getValue());
             $this->push($this->beginValue($x));
             $this->eq();
             $this->quote();
             $this->push($escaped);
             $this->quote();
             $this->commit($x, false);
         } else {
             $this->push($this->parent->makeBackRef($x));
         }
     } else {
         $escaped = EscapeUtil::escape($x->getValue());
         $this->quote();
         $this->push($escaped);
         $this->quote();
     }
 }