Why is extending a set?  I see that you're using "getOnlyElement()" below, but that seems like a crappy error message for the case of more than one - or is this because you expect never to have this case, and so it's more like an AssertionError in practice?