/**
  * Define the hydration schema based on a query object.
  * Fills the Formatter's properties using a Criteria as source
  *
  * @param \Propel\Runtime\ActiveQuery\BaseModelCriteria $criteria
  * @param \Propel\Runtime\DataFetcher\DataFetcherInterface|null $dataFetcher
  *
  * @return $this|\Propel\Runtime\Formatter\AbstractFormatter The current formatter object
  */
 public function init(BaseModelCriteria $criteria, DataFetcherInterface $dataFetcher = null)
 {
     $this->dbName = $criteria->getDbName();
     $this->setClass($criteria->getModelName());
     $this->setWith($criteria->getWith());
     $this->asColumns = array_merge($criteria->getSelectColumns(), $criteria->getAsColumns());
     $this->hasLimit = $criteria->getLimit() !== -1;
     if ($dataFetcher) {
         $this->setDataFetcher($dataFetcher);
     }
     return $this;
 }