code: @Override
      public MessageConsumer createConsumer(Destination destination) throws JMSException {
          checkClosed();
          if (!(destination instanceof SQSQueueDestination)) {
              throw new JMSException("Actual type of Destination/Queue has to be SQSQueueDestination");
          }
          SQSMessageConsumer messageConsumer;
          synchronized (stateLock) {
              checkClosing();
              messageConsumer = createSQSMessageConsumer((SQSQueueDestination) destination);
              messageConsumers.add(messageConsumer);
              if( running ) {
                  messageConsumer.startPrefetch();
              }
          }
          return messageConsumer;
      }
docs: Creates a <code>MessageConsumer</code> for the specified destination.
  Only queue destinations are supported at this time.
  
  @param destination
  a queue destination
  @return new message consumer
  @throws JMSException
  If session is closed or queue destination is not used