This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
The requirements are not clear with respect to trimming the criteria, so I guess you should just do what feels right to you. In my implementation I chose not to trim the criteria, because that might yield unwanted results for the user, consider the following case: