protected function parseFilterFields(array $data = []): array
    {
        $filters = [];
        foreach ($data as $name => $value) {
            if (is_array($value) && $name === '__filter__') {
                $filters = $this->parseFilterRules($filters, $value);
                continue;
            }
            if (!$this->has($name)) {
                $class = static::class;
                $json = JSON::encode($data);
                throw new SimplesRunTimeError(
                    "There is no property `{$name}` in `{$class}` parsing {$json}"
                );
            }
            $filters[] = Filter::create($this->get($name), $value);
        }
        return $filters;
    }