IllegalArgumentException is a RuntimeException, it doesn't need to be specified in the throw spec.