Sorry for drive-by commenting, just saw this change and wanted to suggest using `Objects.hash()` (and maybe Objects.equals() in the following equals() method). We use them a lot in e.g the query builders and it makes these methods much more friendly to read IMHO.