if (!val._OB_type().equivalent(type_))
throw new org.omg.DynamicAny.DynAnyPackage.TypeMismatch();
try {
java.math.BigDecimal f = val.extract_fixed();
if (f == null || f.scale() > origType_.fixed_scale())
throw new org.omg.DynamicAny.DynAnyPackage.InvalidValue();
value_ = f;
} catch (org.omg.CORBA.TypeCodePackage.BadKind ex) {