code: @Override
      public void start() throws JMSException {
          checkClosed();
          actionOnConnectionTaken = true;
  
          if (running) {
              return;
          }
          synchronized (stateLock) {
              checkClosing();
              if (!running) {
                  try {
                      for (Session session : sessions) {
                          SQSSession sqsSession = (SQSSession) session;
                          sqsSession.start();
                      }
                  } finally {
                      running = true;
                  }
              }
          }
      }
docs: Starts a connection's delivery of incoming messages. A call to
  <code>start</code> on a connection that has already been started is
  ignored.
  <P>
  This will not return until all the sessions start internally.
  
  @throws JMSException
  On internal error