public function getText($x, $y, $color)
 {
     $val = $this->t->getCell($x, $y);
     $cell = coopy_DiffRender::renderCell($this->t, $this->v, $x, $y);
     if ($color) {
         $code = null;
         if ($cell->category !== null) {
             $code = $this->codes->get($cell->category);
         }
         if ($cell->category_given_tr !== null) {
             $code_tr = $this->codes->get($cell->category_given_tr);
             if ($code_tr !== null) {
                 $code = $code_tr;
             }
         }
         if ($code !== null) {
             if ($cell->rvalue !== null) {
                 $val = _hx_string_or_null($this->codes->get("remove")) . _hx_string_or_null($cell->lvalue) . _hx_string_or_null($this->codes->get("modify")) . _hx_string_or_null($cell->pretty_separator) . _hx_string_or_null($this->codes->get("add")) . _hx_string_or_null($cell->rvalue) . _hx_string_or_null($this->codes->get("done"));
                 if ($cell->pvalue !== null) {
                     $val = _hx_string_or_null($this->codes->get("conflict")) . _hx_string_or_null($cell->pvalue) . _hx_string_or_null($this->codes->get("modify")) . _hx_string_or_null($cell->pretty_separator) . Std::string($val);
                 }
             } else {
                 $val = $cell->pretty_value;
                 $val = _hx_string_or_null($code) . Std::string($val) . _hx_string_or_null($this->codes->get("done"));
             }
         }
     } else {
         $val = $cell->pretty_value;
     }
     return $this->csv->renderCell($this->v, $val);
 }