Rankings are performed in two passes. The first pass is the rough, qualitative pass, meant to determine if one parse tree has big, obvious differences from another. In most cases, this means that one tree has a particular type of problem or special advantage that the other doesn't have at all.
The second pass is the fine-grained pass. We only reach the second pass if we can't find any coarse differences on the first rough pass. In most cases, the second pass compares the magnitude of problems or advantages to determine if one tree is slightly better than the other.
CommandRankingCriterion : object