public function serializeCollection(VisitorInterface $visitor, Collection $collection, array $type, Context $context)
 {
     if ($collection instanceof \Doctrine\ORM\PersistentCollection) {
         if (!$collection->isInitialized()) {
             return;
         }
     }
     return parent::serializeCollection($visitor, $collection, $type, $context);
 }
 /**
  * Return the slice from any given collection, using optimized queries for unitialized PersistentCollections.
  * 
  * @param Collection $collection
  * @param int $limit
  * @param int $offset
  * @return array
  */
 public function getSlice(Collection $collection, $limit, $offset = 0)
 {
     if ($collection instanceof PersistentCollection && !$collection->isInitialized()) {
         return $this->getSliceQuery($collection, $limit, $offset)->getResult();
     } else {
         $col = $collection->toArray();
         return \array_slice($col, $offset, $limit);
     }
 }