I believe this could avoid the second loop and the new `isRequired` method by doing something like this:

```coffeescript
_.each _.clone(@upstream.children.models), (model) ->
    if @_isRequired(model)
        model.remove()
```

NOTE: I haven't actually tested that but I _think_ it will work.