public FutureDone<Void> peerExchange(final PeerAddress remotePeer, final Number320 key, final TrackerData data,
final ConnectionConfiguration connectionConfiguration) {
final FutureDone<Void> futureDone = new FutureDone<Void>();
FutureChannelCreator futureChannelCreator = peer.connectionBean().reservation().create(1, 0);
Utils.addReleaseListener(futureChannelCreator, futureDone);
futureChannelCreator.addListener(new BaseFutureAdapter<FutureChannelCreator>() {
@Override
public void operationComplete(FutureChannelCreator future) throws Exception {
if (future.isSuccess()) {
final ChannelCreator channelCreator = future.channelCreator();
FutureResponse futureResponse = peerExchangeRPC.peerExchange(remotePeer, key, channelCreator, data,