Many model/POJO classes here can be easily generated with Lombok, which is a very widely used lib.
The benefits are
- Get rid of no-brainer getter and setters.
- Get rid of no-brainer but exhaustive constructor, with
@Builder or @AllArgConstructor
- Get rid of no-brainer
toString().
- Avoid water-is-wet tests.
- Opportunity to use Immutable classes with
@Value