IDL-to-java code generator generates read/write union helper methods that throw org.omg.CORBA.BAD_OPERATION in cases when boolean discriminator's value isn't matched. This is wrong.
According to section "18.104.22.168 Discriminated Unions" :
It is not required that all possible values of the union discriminator be
listed in the <switch_body>. The value of a union is the value of the
discriminator together with one of the following:
??? If the discriminator value was explicitly listed in a case statement, the
value of the element associated with that case statement;
??? If a default case label was specified, the value of the element associated
with the default case label;
??? No additional value.