Use synchronized multisets instead of concurrent ones in LockService
locks because the expected contention isn't high enough to warrant
the overhead of a concurrent data structure