https://cognitivehub.in/combo-of-identityhashmap-and-weakhashmap/