def METHOD_NAME(self, prodID, status, force=False):
    """Performs a state machine check for productions when asked to change the status
    :param int prodID: the ProductionID on which the state machine check is performed
    :param str status: the proposed status which is checked to be valid
    :param bool force: a boolean. When force=True the proposed status is forced to pass the state machine check
    :return: S_OK with the new status or S_ERROR
    """
    res = self.getProductionParameters(prodID, "Status")
    if not res["OK"]:
        return res
    originalStatus = res["Value"]
    proposedStatus = status
    if force:
        return S_OK(proposedStatus)
    else:
        stateChange = ProductionsStateMachine(originalStatus).setState(proposedStatus)
        if not stateChange["OK"]:
            return S_OK(originalStatus)
        else:
            return S_OK(stateChange["Value"])