only create a new array if the filtered set is modified