Validate non-optional parameters and return new instance.
764381
public function build(): CompileScriptRequest
	{
		$instance = new CompileScriptRequest();
		if ($this->expression === null) {
			throw new BuilderException('Property [expression] is required.');
		}
		$instance->expression = $this->expression;
		if ($this->sourceURL === null) {
			throw new BuilderException('Property [sourceURL] is required.');
		}
		$instance->sourceURL = $this->sourceURL;
		if ($this->persistScript === null) {
			throw new BuilderException('Property [persistScript] is required.');
		}
		$instance->persistScript = $this->persistScript;
		$instance->executionContextId = $this->executionContextId;
		return $instance;
	}
358976
public function build(): TakeResponseBodyAsStreamRequest
	{
		$instance = new TakeResponseBodyAsStreamRequest();
		if ($this->requestId === null) {
			throw new BuilderException('Property [requestId] is required.');
		}
		$instance->requestId = $this->requestId;
		return $instance;
	}
646054
public function call() {
        $request = $this->createRequest();
        $response = $this->api->execute($request, $this);
        $this->response = $response;

        if ($this->shouldResponseBeProcessed($response)) {
            $instance = $this->api->instantiateResult($response, $this);

            return $instance;
        }
        return $response;
    }
598115
public function build(): ContinueWithAuthRequest
	{
		$instance = new ContinueWithAuthRequest();
		if ($this->requestId === null) {
			throw new BuilderException('Property [requestId] is required.');
		}
		$instance->requestId = $this->requestId;
		if ($this->authChallengeResponse === null) {
			throw new BuilderException('Property [authChallengeResponse] is required.');
		}
		$instance->authChallengeResponse = $this->authChallengeResponse;
		return $instance;
	}
451012
public function build(): GetResponseBodyForInterceptionRequest
	{
		$instance = new GetResponseBodyForInterceptionRequest();
		if ($this->interceptionId === null) {
			throw new BuilderException('Property [interceptionId] is required.');
		}
		$instance->interceptionId = $this->interceptionId;
		return $instance;
	}
73623
public function build(): ForcePseudoStateRequest
	{
		$instance = new ForcePseudoStateRequest();
		if ($this->nodeId === null) {
			throw new BuilderException('Property [nodeId] is required.');
		}
		$instance->nodeId = $this->nodeId;
		if ($this->forcedPseudoClasses === null) {
			throw new BuilderException('Property [forcedPseudoClasses] is required.');
		}
		$instance->forcedPseudoClasses = $this->forcedPseudoClasses;
		return $instance;
	}
621682
public function build(): SetEmulatedMediaRequest
	{
		$instance = new SetEmulatedMediaRequest();
		if ($this->media === null) {
			throw new BuilderException('Property [media] is required.');
		}
		$instance->media = $this->media;
		return $instance;
	}
877375
public function build(): ContinueRequestRequest
	{
		$instance = new ContinueRequestRequest();
		if ($this->requestId === null) {
			throw new BuilderException('Property [requestId] is required.');
		}
		$instance->requestId = $this->requestId;
		$instance->url = $this->url;
		$instance->method = $this->method;
		$instance->postData = $this->postData;
		$instance->headers = $this->headers;
		return $instance;
	}
28795
public function build(): GetFrameOwnerRequest
	{
		$instance = new GetFrameOwnerRequest();
		if ($this->frameId === null) {
			throw new BuilderException('Property [frameId] is required.');
		}
		$instance->frameId = $this->frameId;
		return $instance;
	}
807377
public function build(): SetPausedRequest
	{
		$instance = new SetPausedRequest();
		if ($this->animations === null) {
			throw new BuilderException('Property [animations] is required.');
		}
		$instance->animations = $this->animations;
		if ($this->paused === null) {
			throw new BuilderException('Property [paused] is required.');
		}
		$instance->paused = $this->paused;
		return $instance;
	}
225852
public function build(): SearchInResponseBodyRequest
	{
		$instance = new SearchInResponseBodyRequest();
		if ($this->requestId === null) {
			throw new BuilderException('Property [requestId] is required.');
		}
		$instance->requestId = $this->requestId;
		if ($this->query === null) {
			throw new BuilderException('Property [query] is required.');
		}
		$instance->query = $this->query;
		$instance->caseSensitive = $this->caseSensitive;
		$instance->isRegex = $this->isRegex;
		return $instance;
	}
1017626
public function build(): GetUsageAndQuotaRequest
	{
		$instance = new GetUsageAndQuotaRequest();
		if ($this->origin === null) {
			throw new BuilderException('Property [origin] is required.');
		}
		$instance->origin = $this->origin;
		return $instance;
	}
440800
public function build(): StartObservingRequest
	{
		$instance = new StartObservingRequest();
		if ($this->service === null) {
			throw new BuilderException('Property [service] is required.');
		}
		$instance->service = $this->service;
		return $instance;
	}
668934
public function build(): GetRelayoutBoundaryRequest
	{
		$instance = new GetRelayoutBoundaryRequest();
		if ($this->nodeId === null) {
			throw new BuilderException('Property [nodeId] is required.');
		}
		$instance->nodeId = $this->nodeId;
		return $instance;
	}
965815
public function build(): StopWorkerRequest
	{
		$instance = new StopWorkerRequest();
		if ($this->versionId === null) {
			throw new BuilderException('Property [versionId] is required.');
		}
		$instance->versionId = $this->versionId;
		return $instance;
	}
1020955
public function build(): StartViolationsReportRequest
	{
		$instance = new StartViolationsReportRequest();
		if ($this->config === null) {
			throw new BuilderException('Property [config] is required.');
		}
		$instance->config = $this->config;
		return $instance;
	}
156987
public function build(): AwaitPromiseRequest
	{
		$instance = new AwaitPromiseRequest();
		if ($this->promiseObjectId === null) {
			throw new BuilderException('Property [promiseObjectId] is required.');
		}
		$instance->promiseObjectId = $this->promiseObjectId;
		$instance->returnByValue = $this->returnByValue;
		$instance->generatePreview = $this->generatePreview;
		return $instance;
	}