It's a terrible API/pattern convention data should be... a data container, a DTO. Making it throw exceptions feels wrong. And also the method name is crappy.