Must throw an InvalidArgumentException if the file does not exist