> is it in purpose?    It doesn't throw with the base implementation, does it?  I don't want to introduce exceptions where they didn't exist before.  If it does, can you point out for what case, and I'll fix it.