@throws IllegalArgumentException if the string is empty.