Validate non-optional parameters and return new instance.
182224
public function build(): SetDocumentContentRequest
	{
		$instance = new SetDocumentContentRequest();
		if ($this->frameId === null) {
			throw new BuilderException('Property [frameId] is required.');
		}
		$instance->frameId = $this->frameId;
		if ($this->html === null) {
			throw new BuilderException('Property [html] is required.');
		}
		$instance->html = $this->html;
		return $instance;
	}
247199
public function build(): CloseTargetRequest
	{
		$instance = new CloseTargetRequest();
		if ($this->targetId === null) {
			throw new BuilderException('Property [targetId] is required.');
		}
		$instance->targetId = $this->targetId;
		return $instance;
	}
941659
public function build(): ReleaseObjectRequest
	{
		$instance = new ReleaseObjectRequest();
		if ($this->objectId === null) {
			throw new BuilderException('Property [objectId] is required.');
		}
		$instance->objectId = $this->objectId;
		return $instance;
	}
966207
public function build(): InspectWorkerRequest
	{
		$instance = new InspectWorkerRequest();
		if ($this->versionId === null) {
			throw new BuilderException('Property [versionId] is required.');
		}
		$instance->versionId = $this->versionId;
		return $instance;
	}
302435
public function build(): GetCurrentTimeRequest
	{
		$instance = new GetCurrentTimeRequest();
		if ($this->id === null) {
			throw new BuilderException('Property [id] is required.');
		}
		$instance->id = $this->id;
		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;
    }
337031
public function build(): LoadSnapshotRequest
	{
		$instance = new LoadSnapshotRequest();
		if ($this->tiles === null) {
			throw new BuilderException('Property [tiles] is required.');
		}
		$instance->tiles = $this->tiles;
		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;
	}
726114
public function build(): SetTouchEmulationEnabledRequest
	{
		$instance = new SetTouchEmulationEnabledRequest();
		if ($this->enabled === null) {
			throw new BuilderException('Property [enabled] is required.');
		}
		$instance->enabled = $this->enabled;
		$instance->configuration = $this->configuration;
		return $instance;
	}
440888
public function build(): SetAttributeValueRequest
	{
		$instance = new SetAttributeValueRequest();
		if ($this->nodeId === null) {
			throw new BuilderException('Property [nodeId] is required.');
		}
		$instance->nodeId = $this->nodeId;
		if ($this->name === null) {
			throw new BuilderException('Property [name] is required.');
		}
		$instance->name = $this->name;
		if ($this->value === null) {
			throw new BuilderException('Property [value] is required.');
		}
		$instance->value = $this->value;
		return $instance;
	}
111911
public function build(): SetNodeNameRequest
	{
		$instance = new SetNodeNameRequest();
		if ($this->nodeId === null) {
			throw new BuilderException('Property [nodeId] is required.');
		}
		$instance->nodeId = $this->nodeId;
		if ($this->name === null) {
			throw new BuilderException('Property [name] is required.');
		}
		$instance->name = $this->name;
		return $instance;
	}
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;
	}
293509
public function build(): SetSamplingIntervalRequest
	{
		$instance = new SetSamplingIntervalRequest();
		if ($this->interval === null) {
			throw new BuilderException('Property [interval] is required.');
		}
		$instance->interval = $this->interval;
		return $instance;
	}
222067
public function build(): PerformSearchRequest
	{
		$instance = new PerformSearchRequest();
		if ($this->query === null) {
			throw new BuilderException('Property [query] is required.');
		}
		$instance->query = $this->query;
		$instance->includeUserAgentShadowDOM = $this->includeUserAgentShadowDOM;
		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;
	}
271914
public function build(): SetRecordingRequest
	{
		$instance = new SetRecordingRequest();
		if ($this->shouldRecord === null) {
			throw new BuilderException('Property [shouldRecord] is required.');
		}
		$instance->shouldRecord = $this->shouldRecord;
		if ($this->service === null) {
			throw new BuilderException('Property [service] is required.');
		}
		$instance->service = $this->service;
		return $instance;
	}