Roy,
Many thanks for your input. I've read many previous posts that suggest using a timeout in the URLyBird assignment is not necessary (and may even go against the supplied requirements) and so I was trying to avoid this approach.
You make a good point about automatic failure - I hadn't considered if Sun will
test my implementation of their interface with a fair client (by my definition capable of holding only one lock).
I will have to give this some thought - I could go with it and include it in my javadoc/choices.txt, but it may not be worth the risk.
Many thanks,
Daniel