code: private void attachConnectionListener(Conversation conversation, SICoreConnection conn) {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "attachConnectionListener",
                          new Object[]
                          {
                           conversation,
                           conn
                          });
  
          // The connection listener is saved in the link level attachement so that each connection that
          // uses the same physical link uses the same connection listener
  
          // So get the connection listener from the link level state and register ourselves with it
          ServerLinkLevelState linkState = (ServerLinkLevelState) conversation.getLinkLevelAttachment(); //d173544
          ServerSICoreConnectionListener listener = linkState.getSICoreConnectionListener();
  
          listener.addSICoreConnection(conn, conversation);
          // Finally attach it to the actual core connection
          // Start f173765.2
          try {
              conn.addConnectionListener(listener);
          } catch (SIException e) {
              FFDCFilter.processException(e,
                                          CLASS_NAME + ".attachConnectionListener",
                                          CommsConstants.SERVERTRANSPORTRECEIVELISTENER_CONNGET_01,
                                          this);
  
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  SibTr.debug(this, tc, "Unable to register connection listener", e);
          }
          // End f173765.2
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "attachConnectionListener");
      }
docs: Helper method used to register the SICoreConnection with the connection listener.
  
  @param conversation
  @param conn