protected void reinitialize(Socket socket, ClientProxyMembershipID proxyId, boolean ip, byte cc,
      KnownVersion ver) {
    // Re-initialize transient fields
    initializeTransientFields(socket, proxyId, ip, cc, ver);
    getCacheClientNotifier().getAcceptorStats().incCurrentQueueConnections();


    // Cancel expiration task
    cancelDurableExpirationTask(true);

    // Set the message dispatcher's primary flag. This could go from primary
    // to secondary
    _messageDispatcher._messageQueue.setPrimary(ip);
    _messageDispatcher._messageQueue.setClientConflation(cc);

    // Reset the _socketClosed AtomicBoolean
    _socketClosed.compareAndSet(true, false);

    reinitializeClientAuths();
    creationDate = new Date();
    if (logger.isDebugEnabled()) {
      logger.debug("{}: Has been reinitialized", this);
    }
  }
Reinitialize a durable <code>CacheClientProxy</code> with a new client.

@param socket The socket between the server and the client
@param ip whether this proxy represents the primary
geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CacheClientProxy.java