use guava's Iterators class and emptyIterator
with HashCodeBuilder use toHashCode() not hashCode()
fix duplicate ip address error message