code: public Session getSession() throws ControlException {
          if (_session == null) {
              try {
                  switch (getDestinationType()) {
                      case Auto:
                          determineDestination();
                          return getSession();
                      case Topic:
                          createTopicSession();
                          break;
                      case Queue:
                          createQueueSession();
                          break;
                  }
              }
              catch (JMSException e) {
                  throw new ControlException("Failure to get JMS connection or session", e);
              }
          }
          return _session;
      }
docs: Implementation of the {@link org.apache.beehive.controls.system.jms.JMSControl#getSession()} method.
  
  @return the {@link Session}
  @throws ControlException when an error occurs trying to create a JMS session