code: public PubsubFuture<List<ReceivedMessage>> pull(final String canonicalSubscriptionName,
                                                    final boolean returnImmediately, final int maxMessages) {
      final String path = canonicalSubscriptionName + ":pull";
      final PullRequest req = PullRequest.builder()
          .returnImmediately(returnImmediately)
          .maxMessages(maxMessages)
          .build();
      return pull(path, req);
    }
docs: Pull a batch of messages.
  
  @param canonicalSubscriptionName The canonical (including project name) subscription to pull from.
  @param returnImmediately         {@code true} to return immediately if the queue is empty. {@code false} to wait
  for at least one message before returning.
  @param maxMessages               Maximum number of messages to return in batch.
  @return a future that is completed with a list of received messages.