docs: public Object getConnection(final Subject containerSubject,
              final ConnectionRequestInfo requestInfo) throws ResourceException {
  
          if (TraceComponent.isAnyTracingEnabled() && TRACE.isEntryEnabled()) {
              SibTr
                      .entry(this, TRACE, "getConnection", new Object[] {
                              SibRaUtils.subjectToString(containerSubject),
                              requestInfo });
          }
  
          SibRaConnection connection = null;
  
          if (requestInfo instanceof SibRaConnectionRequestInfo) {
  
              final SibRaConnectionRequestInfo sibRaRequestInfo = (SibRaConnectionRequestInfo) requestInfo;
              SICoreConnection coreConnection = null;
  
              try {
                  _connectionException = null;
                  coreConnection = _coreConnection.cloneConnection();
  
              } catch (final SIConnectionUnavailableException exception) {
                  
                  // No FFDC Code Needed
                  // We will catch SIConnectionUnavailableException and SIConnectionDroppedException here
                  connectionErrorOccurred(exception, false);
                  _connectionException = exception;
                  _validConnection = false;                         //PK60857
                  
              } catch (SIException exception) {
  
                  FFDCFilter
                          .processException(
                                  exception,
                                  "com.ibm.ws.sib.ra.impl.SibRaManagedConnection.getConnection",
                                  FFDC_PROBE_1, this);
                  if (TraceComponent.isAnyTracingEnabled() && TRACE.isEventEnabled()) {
                      SibTr.exception(this, TRACE, exception);
                  }
                  connectionErrorOccurred(exception, false);
                  _connectionException = exception;
                  _validConnection = false;
  
              } catch (SIErrorException exception) {
  
                  FFDCFilter
                          .processException(
                                  exception,
                                  "com.ibm.ws.sib.ra.impl.SibRaManagedConnection.getConnection",
                                  FFDC_PROBE_7, this);
                  if (TraceComponent.isAnyTracingEnabled() && TRACE.isEventEnabled()) {
                      SibTr.exception(this, TRACE, exception);
                  }
                  connectionErrorOccurred(exception, false);
                  _connectionException = exception;
                  _validConnection = false;
              }
  
              if (coreConnection != null)
              {
                sibRaRequestInfo.setCoreConnection(coreConnection);
                connection = new SibRaConnection(this, sibRaRequestInfo,
                    coreConnection);
                _connections.add(connection);
              }
              else
              {
                connection = new SibRaConnection(this, sibRaRequestInfo, coreConnection);
              }
  
          } else {
              ResourceAdapterInternalException exception = new ResourceAdapterInternalException(NLS.getFormattedMessage(
                              "UNRECOGNISED_REQUEST_INFO_CWSIV0401", new Object[] {
                                      requestInfo, SibRaConnectionRequestInfo.class },
                              null));
              if (TRACE.isEventEnabled()) {
                   SibTr.exception(this, TRACE, exception);
              }
              throw exception;
  
          }
  
          if (TraceComponent.isAnyTracingEnabled() && TRACE.isEntryEnabled()) {
              SibTr.exit(this, TRACE, "getConnection", connection);
          }
          return connection;
  
      }