Added null check to parse(String)

parse(String) now checks for null and throws and IllegalArgumentException on a null.
and empty String produces an empty List.