/**
  * @param \VersionControl\GitControlBundle\Entity\Project $project
  *
  * @return \VersionControl\GitControlBundle\Entity\ProjectEnvironment
  *
  * @throws \Exception
  */
 public function getProjectEnviromment(Project $project)
 {
     if ($this->session->has('projectEnvironment' . $project->getId())) {
         $projectEnvironmentId = $this->session->get('projectEnvironment' . $project->getId());
         $currentProjectEnvironment = $this->em->getRepository('VersionControlGitControlBundle:ProjectEnvironment')->find($projectEnvironmentId);
         if ($currentProjectEnvironment->getProject()->getId() === $project->getId()) {
             return $currentProjectEnvironment;
         } else {
             throw new \Exception('Project Id does not match current project');
         }
     } else {
         $currentProjectEnvironment = $project->getProjectEnvironment()->first();
     }
     return $currentProjectEnvironment;
 }