docs: JmsJcaManagedConnection getManagedConnection() throws IllegalStateException {
  
          if (TraceComponent.isAnyTracingEnabled() && TRACE.isEntryEnabled()) {
              SibTr.entry(this, TRACE, "getManagedConnection");
          }
  
          if (_managedConnection == null) {
  
              final ConnectionManager connectionManager = _connection
                      .getConnectionManager();
  
              if (connectionManager == null) {
                  throw new IllegalStateException(NLS.getFormattedMessage(
                          ("EXCEPTION_RECEIVED_CWSJR1126"),
                          new Object[] { "getManagedConnection"}, null));
              }
  
              if (connectionManager instanceof LazyAssociatableConnectionManager) {
  
                  try {
  
                      final ManagedConnectionFactory managedConnectionFactory = _connection
                              .getConnectionFactory()
                              .getManagedConnectionFactory();
                      ((LazyAssociatableConnectionManager) connectionManager)
                              .associateConnection(this,
                                      managedConnectionFactory, _requestInfo);
  
                  } catch (final ResourceException exception) {
  
                      FFDCFilter.processException(exception, CLASS_NAME
                              + "getManagedConnection", "1:673:1.47", this);
                      SibTr.exception(this, TRACE, exception);
                      throw new IllegalStateException(NLS.getFormattedMessage(
                              ("EXCEPTION_RECEIVED_CWSJR1121"), new Object[] {
                                      "getManagedConnection", exception}, null),
                              exception);
  
                  }
  
              } else {
  
                  throw new IllegalStateException(NLS.getFormattedMessage(
                          ("EXCEPTION_RECEIVED_CWSJR1122"), new Object[] {
                                  "getManagedConnection",
                                  connectionManager.getClass().getName(),
                                  LazyAssociatableConnectionManager.class
                                          .getName()}, null));
  
              }
          }
  
          if (TraceComponent.isAnyTracingEnabled() && TRACE.isEntryEnabled()) {
              SibTr.exit(this, TRACE, "getManagedConnection", _managedConnection);
          }
          return _managedConnection;
      }