code: public SICoreConnection getConnection() throws SISessionDroppedException,
              SIConnectionDroppedException, SISessionUnavailableException,
              SIConnectionUnavailableException {
  
          final String methodName = "getConnection";
          if (TRACE.isEntryEnabled()) {
              SibTr.entry(this, TRACE, methodName);
          }
  
          checkValid();
  
          // Delegate in order to get the correct exception behaviour...
          _delegateSession.getConnection();
  
          // ...then just return the parent connection
  
          if (TRACE.isEntryEnabled()) {
              SibTr.exit(this, TRACE, methodName, _parentConnection);
          }
          return _parentConnection;
  
      }
docs: Returns the parent connection. Checks that the session is valid,
  delegates to ensure the correct exception behaviour and then returns the
  parent <code>SibRaConnection</code>.
  
  @throws SIConnectionUnavailableException
  if the connection is not valid or has been closed
  @throws SISessionUnavailableException
  if the session is not valid or has been closed
  @throws SIConnectionDroppedException
  if the connection has been closed by the bus
  @throws SISessionDroppedException
  if the session has been closed by the bus