$value) { if ($value instanceof self) { $value = $value->toArray(); } if (is_array($value)) { $value = $this->filterFilledRecursive($value); } if ($value !== null && $value !== '' && $value !== []) { $filtered[$key] = $value; } } return $filtered; } protected static function requireFilled(mixed $value, string $field): void { if ($value === null || $value === '' || $value === []) { throw new \InvalidArgumentException("{$field} e obrigatorio."); } } }