Consider the following scenario: The PIPFW application has the following application RuleSets:
A rule with an applies-to class of “ABC-FW-LoanReq-Work-Autoloan” calls “Rule123”. There are 6 copies of Rule123 in the system, with the Applies To Class, RuleSet Version, and Availability, as follows:
2. Chose instance with correct purpose: Implied done by question, N/A
3. Discard Availability = No, N/A
4. Discard inapplicable Rulsets/Versions,
LESCatalog:01-01-01 - This means option C is out
NOTE: The Docs describe how withdrawn works but not when it happens - unfortunately that is key to getting the right answer. If you are careless you might see that C is withdrawn and remove D because it is the same class and a lower ruleset, but of course we have just removed C because the ruleset is not included in the app. Although doc does not say exactly when this is done it only makes sense that it only applies if the ruleset is in the apps rulesetlist.
Option A is availability = withdrawn so it is out and causes the removal of B as well
5. Discard all candidates not defined in a class in the 'ancestor tree', N/A they are all in the inheritance path.
6. Rank: we are left with:D,E,F to rank
We rank by class first which gives us D at the top - we have a winner!