/**
  * Define the hydration schema based on a query object.
  * Fills the Formatter's properties using a Criteria as source
  *
  * @param BaseModelCriteria    $criteria
  * @param DataFetcherInterface $dataFetcher
  *
  * @return $this|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 = $criteria->getAsColumns();
     $this->hasLimit = $criteria->getLimit() != -1;
     if ($dataFetcher) {
         $this->setDataFetcher($dataFetcher);
     }
     return $this;
 }