should the `@exception` be documented on this function or at the constructor which calls this function (or both)