/**
  * Adds filter criteria to an already-prepared query.
  *
  * This method should be used once for query criteria and not be used for
  * nested expressions. It should be called after
  * {@link DocumentPerister::addDiscriminatorToPreparedQuery()}.
  *
  * @param array $preparedQuery
  * @return array
  */
 public function addFilterToPreparedQuery(array $preparedQuery)
 {
     /* If filter criteria exists for this class, prepare it and merge
      * over the existing query.
      *
      * @todo Consider recursive merging in case the filter criteria and
      * prepared query both contain top-level $and/$or operators.
      */
     if ($filterCriteria = $this->dm->getFilterCollection()->getFilterCriteria($this->class)) {
         $preparedQuery = $this->cm->merge($preparedQuery, $this->prepareQueryOrNewObj($filterCriteria));
     }
     return $preparedQuery;
 }