}
//FutureLateJoin<FutureResponse>
private FuturePing pingBroadcast(final int port) {
final FuturePing futurePing = new FuturePing();
final DiscoverResults discoverResults = peer.connectionBean().channelServer().discoverNetworks().currentDiscoverResults();
final int size = discoverResults.existingBroadcastAddresses().size();
final FutureLateJoin<FutureResponse> futureLateJoin = new FutureLateJoin<FutureResponse>(size, 1);
if (size > 0) {
FutureChannelCreator fcc = peer.connectionBean().reservation().create(size, 0);
Utils.addReleaseListener(fcc, futurePing);
fcc.addListener(new BaseFutureAdapter<FutureChannelCreator>() {
@Override
public void operationComplete(FutureChannelCreator future) throws Exception {
if (future.isSuccess()) {
addPingListener(futurePing, futureLateJoin);
for (InetAddress broadcastAddress: discoverResults.existingBroadcastAddresses()) {
final PeerAddress peerAddress = new PeerAddress(Number160.ZERO, broadcastAddress,
port, port);
FutureResponse validBroadcast = peer.pingRPC().pingBroadcastUDP(
peerAddress, future.channelCreator(), connectionConfiguration);
if (!futureLateJoin.add(validBroadcast)) {