/**
  * @param array        $selectAsColumns
  * @param SelectWriter $selectWriter
  *
  * @return mixed
  */
 protected function selectColumnToQuery(array &$selectAsColumns, SelectWriter $selectWriter)
 {
     \array_walk($selectAsColumns, function (&$column) use(&$selectWriter) {
         $keys = \array_keys($column);
         $key = \array_pop($keys);
         $values = \array_values($column);
         $value = $values[0];
         if (\is_numeric($key)) {
             /* @var Column $value */
             $key = $this->writer->writeTableName($value->getTable());
         }
         $column = $selectWriter->selectToColumn($key, $value);
     });
     return $selectAsColumns;
 }
 /**
  * {@inheritdoc}
  *
  * @param Table $table
  *
  * @return string
  */
 public function writeTableName(Table $table)
 {
     return $this->wrapper(parent::writeTableName($table));
 }