/**
  * @param \CleverAge\Orchestrator\Ticketing\Model\Ticket $ticket
  * @param \CleverAge\Orchestrator\Request\Request $request
  * @return \CleverAge\Orchestrator\Feature
  */
 protected function buildFeature(Ticket $ticket, Request $request)
 {
     $sources = array();
     if ($this->source) {
         $sourceIdClosure = $request->getSourceIdClosure();
         foreach ($this->sourceProjects as $project) {
             $sourceIds = $sourceIdClosure($ticket);
             foreach ($sourceIds as $sourceId) {
                 try {
                     $source = $this->source->getBranch($project, $sourceId);
                     if (!empty($source)) {
                         $sources[] = $source;
                     }
                 } catch (\RuntimeException $e) {
                     // probably 404, branch does not exists for project
                     // @todo add log
                 }
             }
         }
     }
     return new Feature($ticket, $sources);
 }