public function pull($subscription, $maxMessages, $optionalArgs = [])
{
$request = new PullRequest();
$request->setSubscription($subscription);
$request->setMaxMessages($maxMessages);
if (isset($optionalArgs['returnImmediately'])) {
$request->setReturnImmediately($optionalArgs['returnImmediately']);
}
$mergedSettings = $this->defaultCallSettings['pull']->merge(new CallSettings($optionalArgs));
$callable = ApiCallable::createApiCall($this->subscriberStub, 'Pull', $mergedSettings, $this->descriptors['pull']);
return $callable($request, [], ['call_credentials_callback' => $this->createCredentialsCallback()]);
}