/**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function edit($id)
 {
     $simulation = Simulation::find($id);
     $needles = $simulation->Combination->Needles;
     $regions = $simulation->Combination->NumericalModel->Regions;
     $contexts = Context::all()->lists('Name', 'Id');
     $lineage = [];
     $s = $simulation->Parent;
     while ($s) {
         $lineage[] = $s;
         $s = $s->Parent;
     }
     $otherSimulationTargets = PointSet::join('Simulation_Needle as SN', 'SN.Target_Id', '=', 'PointSet.Id')->join('Simulation as S', 'S.Id', '=', 'SN.Simulation_Id')->where('S.Patient_Id', '=', $simulation->Patient_Id)->where('S.Id', '!=', $simulation->Id)->get()->lists('asString');
     return View::make('simulations.edit', compact('simulation', 'needles', 'regions', 'otherSimulationTargets', 'contexts', 'lineage'));
 }