original_string: public function get(string $queueName): ?\AMQPEnvelope
      {
          if ($this->shouldSetup()) {
              $this->setup();
          }
  
          try {
              if (false !== $message = $this->queue($queueName)->get()) {
                  return $message;
              }
          } catch (\AMQPQueueException $e) {
              if (404 === $e->getCode() && $this->shouldSetup()) {
                  // If we get a 404 for the queue, it means we need to setup the exchange & queue.
                  $this->setup();
  
                  return $this->get();
              }
  
              throw $e;
          }
  
          return null;
      }
code: public function get(string $queueName): ?\AMQPEnvelope
      {
          if ($this->shouldSetup()) {
              $this->setup();
          }
  
          try {
              if (false !== $message = $this->queue($queueName)->get()) {
                  return $message;
              }
          } catch (\AMQPQueueException $e) {
              if (404 === $e->getCode() && $this->shouldSetup()) {
                  // If we get a 404 for the queue, it means we need to setup the exchange & queue.
                  $this->setup();
  
                  return $this->get();
              }
  
              throw $e;
          }
  
          return null;
      }
code_tokens: public function get ( string $ queueName ) : ? \ AMQPEnvelope { if ( $ this -> shouldSetup ( ) ) { $ this -> setup ( ) ; } try { if ( false !== $ message = $ this -> queue ( $ queueName ) -> get ( ) ) { return $ message ; } } catch ( \ AMQPQueueException $ e ) { if ( 404 === $ e -> getCode ( ) && $ this -> shouldSetup ( ) ) { // If we get a 404 for the queue, it means we need to setup the exchange & queue. $ this -> setup ( ) ; return $ this -> get ( ) ; } throw $ e ; } return null ; }
docstring: Gets a message from the specified queue.
  
  @throws \AMQPException
docstring_tokens: Gets a message from the specified queue .