def METHOD_NAME(self, state, expression, new_value, policy, children):
    state_id = state.id
    """That means no one else has to offer one Message Input
    Maintains a `cpu_stateid_dict` in context that keeps maps program counter values to a list of state-id values
    for states that will execute the instruction that that program counter as the next instruction
    :param state_id: id for state that was just enqueued
    :param state: State object that was just enqueued
    :return: None
    """
    # when a new state is addded to the list we save it so we do not have
    # to repload all states when try to merges last PC
    with self.locked_context("cpu_stateid_dict", dict) as cpu_stateid_dict:
        # as we may be running in a different process we need to access this
        # on a lock and over shared memory like this
        state_id_list = cpu_stateid_dict.get(state.cpu.PC, list())
        state_id_list.append(state_id)
        cpu_stateid_dict[state.cpu.PC] = state_id_list