variant ::= "when" discrete_choice_list "=>" ( component_item { component_item } ) | ( { component_item } variant_part ) | ( "null" ";" )
This rule is called by -> variant_part
-> variant_part