/**
  * @param EntityCollection $collection
  * @param Configuration $configuration
  * @return string
  */
 public function generate(EntityCollection $collection, Configuration $configuration)
 {
     $useStatements = $this->generateUseStatements($configuration->getNamespace(), $collection);
     $content = $this->generateFileHeader($configuration->getNamespace(), $useStatements);
     $content .= $this->generateClassHeader($configuration->getClassName(), $configuration->getExtends());
     $content .= $this->generateGetConnectionMethod($configuration->getIndention());
     foreach ($collection as $entity) {
         $content .= $this->generateEntityMethods($entity, $configuration->getIndention());
     }
     $content .= '}';
     return $content;
 }