Added check on UserName constructor to throw an IllegalArgumentException
if the userName argument is null or empty