key collision – Two wallets with the same address

I understand that one can create a Bitcoin wallet as a pair of numbers (public & private key) with the right specifications and this is done quite easily in places like bitaddress.org

I also understand that the probability of generating two identical public keys is infinitesimally small — lesser than the probability of being hit by an asteroid, or so I am told.

But it is not zero.

My question is – if a duplication occurs, a hash collision happens, how does the protocol (a) detect it and (b) deal with it. In a simple, everyday hash table application, we do a lookup on the existing hashed values and if we detect a collision we ignore the last created value and generate a new one.

Is there a similar protocol in bitcoin ( or any crypto) address generation?