- One past action needs to satisfy a rule. Once it satisfies a rule it cannot satisfy another.
- Our current implementation doesn’t care about order and can satisfy more than 1 rule
- Iterate through each UserAction and add to map of lists for each rule
- Sort by length, smallest first
- Create MapSet
- Grab first element from first list
- Grab first element in next list that isn’t the first (MapSet.member?)
- Using already collected list, pick next element that isn’t in the created list