code: public SICoreConnection createConnection(final String userName,
              final String password, final Map connectionProperties)
              throws SIResourceException,
              SINotPossibleInCurrentConfigurationException,
              SIIncorrectCallException, SIAuthenticationException {
  
          if (TRACE.isEntryEnabled()) {
              SibTr.entry(this, TRACE, "createConnection", new Object[] {
                      userName, (password == null) ? null : "*****", connectionProperties });
          }
  
          final ConnectionRequestInfo requestInfo = new SibRaConnectionRequestInfo(
                  userName, password, connectionProperties);
          final SibRaConnection result = createConnection(requestInfo);
  
          if (TRACE.isEntryEnabled()) {
              SibTr.exit(this, TRACE, "createConnection", result);
          }
          return result;
  
      }
docs: Creates a connection to a messaging engine. The creation is delegated to
  the JCA connection manager. This either creates a new managed connection
  or finds an existing one that matches this request. The connection
  manager obtains a connection handle to the managed connection which is
  what is returned by this method.
  
  @param userName
  the user name to authenticate to the messaging engine with
  @param password
  the password to authentiate to the messaging engine with
  @param connectionProperties
  the connection properties that identify the messaging engine
  to connect to
  @throws SIResourceException
  if an exception relating to the JCA processing occurs
  @throws SIAuthenticationException
  if an exception occurs when delegating to the underlying core
  SPI implementation
  @throws SIIncorrectCallException
  if an exception occurs when delegating to the underlying core
  SPI implementation
  @throws SINotPossibleInCurrentConfigurationException
  if an exception occurs when delegating to the underlying core
  SPI implementation