protected function pagedSoapCall($action, $parameters, $resultkey)
    {
        $pagesize = 100;
        $pagenumber = 0;
        /* example list call that has paged information
            <urn2:getZoneList>
                <!--Optional:-->
                <urn2:listPagingInfo>
                    <urn2:pageNumber>1</urn2:pageNumber>
                    <urn2:pageSize>80</urn2:pageSize>
                </urn2:listPagingInfo>
            </urn2:getZoneList>
        */
        $results = [];
        do {
            $pagenumber++;
            $parameters['listPagingInfo'] = [
                                            'pageSize'   => $pagesize,
                                            'pageNumber' => $pagenumber,
                                            ];
            $response = $this->soapCall($action, $parameters);
            // Make sure our soap call was successful
            if (!$response['callSuccess']) {
                throw new \Exception('SOAP callSuccess false');
            }
            // Save the results field in the response
            $results = array_merge($results, $response[$resultkey]);
        } while (count($results) < $response['totalCount']);

        return $results;
    }