code: protected T createAndInitQueue(QueueSpec spec) throws Exception {
          T queue = createQueueInstance(spec);
          queue.setQueueName(spec.name);
          initQueue(queue, spec);
          return queue;
      }
docs: Creates & Initializes a new queue instance.
  
  @param spec
  @return
  @throws Exception