/**
  * Update the transitions for a given action
  * 
  * @param array $actionTemplate
  * @param WorkflowAction $action
  * 
  * @return array
  */
 protected function updateActionTransitions($actionTemplate, $action)
 {
     $transitions = array();
     if (isset($actionTemplate['transitions']) && is_array($actionTemplate['transitions'])) {
         $existing = $action->Transitions();
         $transitionMap = array();
         foreach ($existing as $transition) {
             $transitionMap[$transition->Title] = $transition;
         }
         foreach ($actionTemplate['transitions'] as $transitionName => $transitionTemplate) {
             $target = $transitionTemplate;
             if (is_array($transitionTemplate)) {
                 $target = $transitionTemplate['to'];
             }
             if (isset($transitionMap[$transitionName])) {
                 $transition = $transitionMap[$transitionName];
             } else {
                 $transition = WorkflowTransition::create();
             }
             $transition->Title = $transitionName;
             $transition->ActionID = $action->ID;
             // we don't have the NextAction yet other than the target name, so we store that against
             // the transition and do a second pass later on to match things up
             $transition->Target = $target;
             $transitions[] = $transition;
         }
     }
     return $transitions;
 }