parse(String) now does null check

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