"&" needs to be "&"
There are some other places that will get you errors; they need to be fixed to look like this:
(for suitable values of "lstContext", of course).
I've attached a fixed but untested version.
I'd like to thank you for having the chutzpah to chide RobTrew publicly for sharing his thoughts — not everyone is so bold, and yet it seems not to have ended badly ;-)