Add a test specifying a value for a `Void` expansion in `SetValue` policy.

Add a test to make sure that we ignore any of the provided values for the void flag and successfully set the expanded ones.

PiperOrigin-RevId: 440204560
diff --git a/src/main/java/com/google/devtools/common/options/InvocationPolicyEnforcer.java b/src/main/java/com/google/devtools/common/options/InvocationPolicyEnforcer.java
index 136769b..3e88a1f 100644
--- a/src/main/java/com/google/devtools/common/options/InvocationPolicyEnforcer.java
+++ b/src/main/java/com/google/devtools/common/options/InvocationPolicyEnforcer.java
@@ -434,10 +434,7 @@
 
     // Flag value from the expansion, overridability from the original policy, unless the flag is
     // repeatable, in which case we care about appendability, not overridability.
-    SetValue.Builder setValueExpansion = SetValue.newBuilder();
-    for (String value : subflagValue) {
-      setValueExpansion.addFlagValue(value);
-    }
+    SetValue.Builder setValueExpansion = SetValue.newBuilder().addAllFlagValue(subflagValue);
 
     switch (originalPolicy.policy.getSetValue().getBehavior()) {
       case UNDEFINED:
diff --git a/src/test/java/com/google/devtools/common/options/InvocationPolicySetValueTest.java b/src/test/java/com/google/devtools/common/options/InvocationPolicySetValueTest.java
index 3320c46..aa90fcb 100644
--- a/src/test/java/com/google/devtools/common/options/InvocationPolicySetValueTest.java
+++ b/src/test/java/com/google/devtools/common/options/InvocationPolicySetValueTest.java
@@ -213,14 +213,19 @@
   }
 
   @Test
-  public void finalValueIgnoreOverrides_setFlagWithExpansion_setsExpandedValues() throws Exception {
+  public void setFlagWithExpansion_finalValueIgnoreOverrides_setsExpandedValuesAsFinal(
+      @TestParameter({"null", "", "some value"}) String value) throws Exception {
     InvocationPolicy.Builder invocationPolicy = InvocationPolicy.newBuilder();
-    invocationPolicy
-        .addFlagPoliciesBuilder()
-        .setFlagName("test_expansion")
-        // SetValue must have no values for a Void flag.
-        .getSetValueBuilder()
-        .setBehavior(Behavior.FINAL_VALUE_IGNORE_OVERRIDES);
+    SetValue.Builder setValue =
+        invocationPolicy
+            .addFlagPoliciesBuilder()
+            .setFlagName("test_expansion")
+            // SetValue must have no values for a Void flag.
+            .getSetValueBuilder()
+            .setBehavior(Behavior.FINAL_VALUE_IGNORE_OVERRIDES);
+    if (value != null) {
+      setValue.addFlagValue(value);
+    }
 
     InvocationPolicyEnforcer enforcer = createOptionsPolicyEnforcer(invocationPolicy);
     // Unrelated flag, but --test_expansion is not set