public function scrollProfiles($scrollId, array $options = [])
    {
        $options['httpParams'] = [':scrollId' => $scrollId];

        $data = [];

        if (!$scrollId) {
            throw new InvalidArgumentException('Security.scrollProfiles: scrollId is required');
        }

        if (isset($options['scroll'])) {
            $data['scroll'] = $options['scroll'];
        }

        $response = $this->kuzzle->query(
            $this->kuzzle->buildQueryArgs('security', 'scrollProfiles'),
            $data,
            $options
        );

        $response['result']['hits'] = array_map(function ($document) {
            return new Profile($this, $document['_id'], $document['_source'], $document['_meta']);
        }, $response['result']['hits']);

        return new ProfilesSearchResult(
            $response['result']['total'],
            $response['result']['hits'],
            $scrollId
        );
    }