When an IP address in *new* table is overwritten? I'm reading the address management of Bitcoin core implementation. There is one thing I couldn't understand is in which condition an IP address in the new table of a node is overwritten?

In particular, when the node hears about a new peer, it adds that IP address into a slot in the new table, if that slot is occupied, it checks if the existing isTerrible: https://github.com/bitcoin/bitcoin/blob/master/src/addrman.cpp#L309 

if (infoExisting.IsTerrible() || (infoExisting.nRefCount &gt; 1 &amp;&amp; pinfo-&gt;nRefCount == 0))


What is nRefCount? What is the idea behind this check?
nRefCount indicates the number of slots in the new table that is occupied by the same IP address.