you may inline a default in value() method as the 2nd argument, null, still throws exception