private synchronized DHTFuture<PingEntity> ping(ContactEntry entry) {
Contact contact = entry.getContact();
// Make sure we're not pinging the same host in parallel.
// It is an unlikely but possible case...
final ContactKey pingKey = new ContactKey(contact);
DHTFuture<PingEntity> future
= pingFutures.get(pingKey);
if (future == null) {
PingConfig pingConfig = config.getPingConfig();