code: @Override
      public SICoreConnection createConnection(String userName, String password,
                                               Map connectionProperties) throws SIResourceException,
                      SINotAuthorizedException, SIAuthenticationException {
          if (TraceComponent.isAnyTracingEnabled()
              && CoreSPIConnFactory.tc.isEntryEnabled())
              SibTr.entry(CoreSPIConnFactory.tc, "createConnection",
                          new Object[] { userName, connectionProperties });
  
          // Check that the Messaging Engine is started
          checkStarted();
  
          // Security context associated with logged-on principal.
          Subject subject = null;
  
          // Security Code changes for Liberty: Sharath Start
          try {
              subject = _authentication.login(userName, password);
          } catch (MessagingAuthenticationException e) {
              throw new SIAuthenticationException(e.getMessage());
          }
          SICoreConnection connection = createConnection(subject, connectionProperties);
          if (TraceComponent.isAnyTracingEnabled()
              && CoreSPIConnFactory.tc.isEntryEnabled())
              SibTr.exit(CoreSPIConnFactory.tc, "createConnection", connection);
          return connection;
          // Security Code changes for Liberty: Sharath End
      }
docs: /*
  (non-Javadoc)
  
  @see
  com.ibm.wsspi.sib.core.SICoreConnectionFactory#createConnection(java.
  lang.String, java.lang.String, java.util.Map)
  
  174695 The null username check should occur in the sib.security package,
  so we just pass through