docs: def transitions(self, transitions):
          """ Setter for _transitions field
  
          See property
  
          :param: transitions: Dictionary transitions[transition_id] of :class:`rafcon.core.transition.Transition`
          :raises exceptions.TypeError: if the transitions parameter has the wrong type
          :raises exceptions.AttributeError: if the keys of the transitions dictionary and the transition_ids of the
                                              transitions in the dictionary do not match
          """
          if not isinstance(transitions, dict):
              raise TypeError("transitions must be of type dict")
          if [t_id for t_id, transition in transitions.items() if not isinstance(transition, Transition)]:
              raise TypeError("element of transitions must be of type Transition")
          if [t_id for t_id, transition in transitions.items() if not t_id == transition.transition_id]:
              raise AttributeError("The key of the transition dictionary and the id of the transition do not match")
  
          old_transitions = self._transitions
          self._transitions = transitions
          transition_ids_to_delete = []
          for transition_id, transition in transitions.items():
              try:
                  transition.parent = self
              except (ValueError, RecoveryModeException) as e:
                  if type(e) is RecoveryModeException:
                      logger.error("Recovery error: {0}\n{1}".format(str(e), str(traceback.format_exc())))
                      if e.do_delete_item:
                          transition_ids_to_delete.append(transition.transition_id)
                  else:
                      self._transitions = old_transitions
                      raise
  
          self._transitions = dict((transition_id, t) for (transition_id, t) in self._transitions.items()
                                   if transition_id not in transition_ids_to_delete)
  
          # check that all old_transitions are no more referencing self as there parent
          for old_transition in old_transitions.values():
              if old_transition not in self._transitions.values() and old_transition.parent is self:
                  old_transition.parent = None