@Override
 public void init(String clusterID, long nextAvailChannelID, Set<ConnectionID> connections) {
   this.uid = clusterID;
   if (nextAvailChannelID >= 0) {
     this.connectionIDSequence.setNext(nextAvailChannelID);
   }
   for (final ConnectionID cid : connections) {
     Assert.assertEquals(clusterID, cid.getServerID());
     this.clientStateStore.saveClientState(new ChannelID(cid.getChannelID()));
   }
 }
 @Override
 public ConnectionID populateConnectionID(ConnectionID connectionID) {
   if (new ChannelID(connectionID.getChannelID()).isNull()) {
     return nextConnectionId(connectionID.getJvmID(), connectionID.getProductId());
   } else {
     return makeConnectionId(
         connectionID.getJvmID(), connectionID.getChannelID(), connectionID.getProductId());
   }
 }