private static boolean changeKnownOriginTriggerAI(AbilityFactory af, SpellAbility sa, boolean mandatory) {
        if (!ComputerUtil.canPayCost(sa))
            return false;

        if (sa.getTarget() == null)    // Just in case of Defined cases
            ; // do nothing
        else if (changeKnownPreferredTarget(af, sa, mandatory)) {
            ; // do nothing
        } else if (!changeKnownUnpreferredTarget(af, sa, mandatory))
            return false;

        Ability_Sub subAb = sa.getSubAbility();
        if (subAb != null)
            return subAb.doTrigger(mandatory);

        return true;
    }