docs: def start_state_id(self, start_state_id, to_outcome=None):
          """Set the start state of the container state
  
          See property
  
          :param start_state_id: The state id of the state which should be executed first in the Container state
          :raises exceptions.ValueError: if the start_state_id does not exist in
                                      :py:attr:`rafcon.core.states.container_state.ContainerState.states`
          """
          if start_state_id is not None and start_state_id not in self.states:
              raise ValueError("start_state_id does not exist")
  
          if start_state_id is None and to_outcome is not None:  # this is the case if the start state is the state itself
              if to_outcome not in self.outcomes:
                  raise ValueError("to_outcome does not exist")
              if start_state_id != self.state_id:
                  raise ValueError("to_outcome defined but start_state_id is not state_id")
  
          # First we remove the transition to the start state
          for transition_id in self.transitions:
              if self.transitions[transition_id].from_state is None:
                  # If the current start state is the same as the old one, we don't have to do anything
                  if self.transitions[transition_id].to_state == start_state_id:
                      return
                  self.remove_transition(transition_id)
                  break
          if start_state_id is not None:
              self.add_transition(None, None, start_state_id, to_outcome)