restore wrong (but performant) possible_watcher impl

https://www.openproject.org/work_packages/15510

Its what https://github.com/opf/openproject/pull/1878 should have done. Everything looks good but I am waiting for travis to validate.