def expand
List.new(reverse.each_with_object([]) do |locale, expanded|
locale.candidates.uniq.reverse_each do |candidate|
- expanded << candidate if candidate == locale || !expanded.include?(candidate)
+ expanded << candidate if candidate == locale || expanded.exclude?(candidate)
end
end.reverse.uniq)
end