Hotfix/17512 duplication of wp with invalid watcher

[``* `#17512` Duplication of work package with invalid watcher``](https://community.openproject.org/work_packages/17512)
Taking your question into account this statement would then become something like the following:
```Ruby
watchers = watchers.select { |w| respond_to?(:visible?) ? visible?(w) : true }
```
With the ``if`` statement at the end I prevent the execution of the ``select`` which should have better performance in the case where ``visible?`` does not exist.