docs: protected String updateCloneInfo(SessionAffinityContext sac, String thisClone) {
          final boolean isTraceOn = com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled();
          String cloneString;
          if (sac.isOutputCloneInfoSet()) {
              cloneString = sac.getOutputCloneInfo();
          } else {
              cloneString = sac.getInputCloneInfo();
          }
          // Begin PM02781: Compare if incoming id and outgoing id are different.  If so then we throw 
          // away past cloneInfo and just append thisCloneId as the new cloneInfo.
          String incomingSessId = sac.getRequestedSessionID();
          String outgoingSessId = sac.getResponseSessionID();
          if ((outgoingSessId != null) && !(outgoingSessId.equals(incomingSessId))) {
              sac.setInputCloneInfo("");
              cloneString = thisClone;
              if (isTraceOn && LoggingUtil.SESSION_LOGGER_CORE.isLoggable(Level.FINE))
                  LoggingUtil.SESSION_LOGGER_CORE.logp
                                  (Level.FINE, "SessionAffinityManager", methodNames[UPDATE_CLONE_INFO],
                                   (new StringBuilder("Setting cloneID:")).append(cloneString).append(":").toString());
          }
  
          int index = cloneString.indexOf(thisClone);
          if (index == -1) // our clone isn't included
          {
              StringBuffer newClones = new StringBuffer();
              if (SessionManagerConfig.isNoAffinitySwitchBack()) {
                  newClones.append(thisClone).append(cloneString);
              } else {
                  newClones.append(cloneString).append(thisClone);
              }
              cloneString = newClones.toString();
              sac.setOutputCloneInfo(cloneString);
          } else {
              if (SessionManagerConfig.isNoAffinitySwitchBack() && index > 0) {
                  cloneString = thisClone + cloneString.substring(0, index) + cloneString.substring(index + thisClone.length());
                  if (isTraceOn && LoggingUtil.SESSION_LOGGER_CORE.isLoggable(Level.FINE))
                      LoggingUtil.SESSION_LOGGER_CORE.logp
                                      (Level.FINE, "SessionAffinityManager", methodNames[UPDATE_CLONE_INFO],
                                       (new StringBuilder("New cloneString : ")).append(cloneString).append(".").toString());
              }
          }
  
          return cloneString;
      }