Set of names
Function that takes name and returns boolean. If function returns true name would be copied to NewSet
All name that returns true in predicate