code: public Conversation cloneConversation(OutboundConnection connection,
                                            ConversationReceiveListener conversationReceiveListener)
                      throws SIResourceException
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "cloneConversation", new Object[] { connection, conversationReceiveListener });
          Conversation clonedConversation =
                          connection.getConnectionData().getConnectionDataGroup().clone(connection, conversationReceiveListener);
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "cloneConversation", clonedConversation);
          return clonedConversation;
      }
docs: Clones a conversation. The method locates the appropriate connection group and
  invokes it's clone method.
  
  @param connection The connection to clone a conversation for.
  @param conversationReceiveListener The receive listener to use for the cloned connection
  @return Conversation a new cloned conversation
  @throws SICommsException Thrown if the clone operation fails.