public function send($resource, $method, array $options = [], $whitelisted = false)
    {
        $requestOptions = $this->pluckArray([
            'restOptions',
            'retries',
            'requestTimeout'
        ], $options);

        try {
            return json_decode(
                $this->requestWrapper->send(
                    $this->requestBuilder->build($resource, $method, $options),
                    $requestOptions
                )->getBody(),
                true
            );
        } catch (NotFoundException $e) {
            if ($whitelisted) {
                throw $this->modifyWhitelistedError($e);
            }

            throw $e;
        }
    }