private function decodeTableRow(\blaze\web\application\BlazeContext $context, \blaze\web\component\UIComponent $component, $found)
 {
     foreach ($component->getColumns() as $column) {
         if ($column instanceof \blaze\web\component\html\DataTableColumns) {
             $value = $column->getValue();
             if ($value != null) {
                 $columnId = 0;
                 foreach ($value as $tableColumn) {
                     $column->setColumnId($columnId++);
                     $context->getELContext()->getContext(\blaze\web\el\ELContext::SCOPE_REQUEST)->set($context, $column->getColumnVar(), $tableColumn);
                     $column->processDecodes($context);
                     $this->recursiveUnsetClientId($column);
                     if (!$found && $this->recursiveCheckSelected($column)) {
                         $component->getSelectedRowIndexLocal()->setValue($context, $component->getRowId());
                         $found = true;
                     }
                 }
                 $column->setColumnId(-1);
             }
         } else {
             $column->processDecodes($context);
             $this->recursiveUnsetClientId($column);
             if (!$found && $this->recursiveCheckSelected($column)) {
                 $component->getSelectedRowIndexLocal()->setValue($context, $component->getRowId());
                 $found = true;
             }
         }
     }
     return $found;
 }