def change_state_id(self, state_id=None):
        """Changes the id of the state to a new id

        If no state_id is passed as parameter, a new state id is generated.

        :param str state_id: The new state id of the state
        :return:
        """
        if state_id is None:
            state_id = state_id_generator(used_state_ids=[self.state_id])
        if not self.is_root_state and not self.is_root_state_of_library:
            used_ids = list(self.parent.states.keys()) + [self.parent.state_id, self.state_id]
            if state_id in used_ids:
                state_id = state_id_generator(used_state_ids=used_ids)

        self._state_id = state_id
Changes the id of the state to a new id

        If no state_id is passed as parameter, a new state id is generated.

        :param str state_id: The new state id of the state
        :return: