code: public static ArrayList<QueueModel> getQueues(Client client, String previousQueueName, Integer perPage, String prefix) throws IOException {
          StringBuilder params = new StringBuilder();
          if (previousQueueName != null && !previousQueueName.isEmpty()) {
              params.append(String.format("previous=%s", URLEncoder.encode(previousQueueName, "UTF-8")));
          }
          if (prefix != null && !prefix.isEmpty()) {
              params.append(String.format("%sprefix=%s", params.length() > 0 ? "&" : "", URLEncoder.encode(prefix, "UTF-8")));
          }
          if (perPage != null) {
              if (perPage < 1) {
                  throw new IllegalArgumentException("perPage parameter should be greater than 0");
              }
              params.append(String.format("%sper_page=%d", params.length() > 0 ? "&" : "", perPage));
          }
          String url = "queues?" + params;
  
          IronReader reader = client.get(url);
          Gson gson = new Gson();
          QueuesContainer queues = gson.fromJson(reader.reader, QueuesContainer.class);
          reader.close();
          return queues.getQueues();
      }
docs: Retrieves queues in alphabetical order.
  
  @param previousQueueName this is the last queue on the previous page, it will start from the next one.
  If queue with specified name doesn't exist result will contain first per_page queues
  that lexicographically greater than previous
  @param perPage number of elements in response, default for IronMQ is 30
  
  @throws HTTPException If the IronMQ service returns a status other than 200 OK.
  @throws java.io.IOException If there is an error accessing the IronMQ server.