http://www.java-forums.org/new-java/80569-hashset-accept-duplicated-value.html