NOTE: before fixing, it was an IllegalArgumentException as expected, but because the implementation had a bug and threw the exception on her own behalf!