Repository: microsoft/semantic-kernel
File: dotnet/src/Connectors/Connectors.Google/GeminiPromptExecutionSettings.cs (C#)

Code before:
        {
            this.ThrowIfFrozen();
            this._responseSchema = value;
        }
    }

    /// <summary>
    /// Optional. The name of the cached content used as context to serve the prediction.
    /// Note: only used in explicit caching, where users can have control over caching (e.g. what content to cache) and enjoy guaranteed cost savings.
    /// Format: projects/{project}/locations/{location}/cachedContents/{cachedContent}
    /// </summary>
    [JsonPropertyName("cached_content")]
    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
    public string? CachedContent
    {
        get => this._cachedContent;
        set
        {
            this.ThrowIfFrozen();
            this._cachedContent = value;
        }
    }

    /// <summary>
    /// Configuration for the thinking budget in Gemini 2.5.
    /// **This property is specific to Gemini 2.5 and similar experimental models.**
    /// </summary>
    [JsonPropertyName("thinking_config")]
    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
    public GeminiThinkingConfig? ThinkingConfig
    {
        get => this._thinkingConfig;
        set
        {
            this.ThrowIfFrozen();
            bool isGemini25 = false;
            if (this.ModelId != null)
            {
                isGemini25 = this.ModelId?.StartsWith("gemini-2.5", StringComparison.OrdinalIgnoreCase) ?? false;
            }

            if (!isGemini25 && value != null)
            {
                throw new InvalidOperationException("ThinkingConfig is only applicable to Gemini-2.5 models.");
            }
            this._thinkingConfig = value;
        }
    }

    /// <inheritdoc />
    public override void Freeze()

Review comment (suggestion):
Add this in the remarks tag instead.

```suggestion
    /// </summary>
    /// <remarks>This property is specific to Gemini 2.5 and similar experimental models.</remarks>
```

Code after:
        {
            this.ThrowIfFrozen();
            this._responseSchema = value;
        }
    }

    /// <summary>
    /// Optional. The name of the cached content used as context to serve the prediction.
    /// Note: only used in explicit caching, where users can have control over caching (e.g. what content to cache) and enjoy guaranteed cost savings.
    /// Format: projects/{project}/locations/{location}/cachedContents/{cachedContent}
    /// </summary>
    [JsonPropertyName("cached_content")]
    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
    public string? CachedContent
    {
        get => this._cachedContent;
        set
        {
            this.ThrowIfFrozen();
            this._cachedContent = value;
        }
    }

    /// <summary>
    /// Configuration for the thinking budget in Gemini 2.5.
    /// </summary>
    /// <remarks>
    /// This property is specific to Gemini 2.5 and similar experimental models.
    /// </remarks>
    [JsonPropertyName("thinking_config")]
    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
    public GeminiThinkingConfig? ThinkingConfig
    {
        get => this._thinkingConfig;
        set
        {
            this.ThrowIfFrozen();
            this._thinkingConfig = value;
        }
    }

    /// <inheritdoc />
    public override void Freeze()
    {
        if (this.IsFrozen)
        {
            return;
        }

        base.Freeze();