Programming Workbench: Hand-Over-Hand Locking for Highly Concurrent Collections