As far as I'm concerned, the implement of ```hashCode()``` and ```equals``` is very common in java. It should be done nearly everytime using hashset and thousands of documents about the same usage can be found online, so it's really not something special in our project.