The usage of this method is to ensure that a remove followed by putIfAbsent
is safe from race conditions between the two calls.
Acts like compare AND set, but with removal. Will remove the key if the
value matches the existing value in the map.
the existing value mapped to this key before removal