((abstractDynAny) discriminator).listener = this;
((AbstractAny) discriminator).listener = this;
  public gnuDynUnion(TypeCode oType, TypeCode aType, gnuDynAnyFactory aFactory,                     ORB anOrb                    )              throws InconsistentTypeCode  {    super(oType, aType, aFactory, anOrb);    try      {        discriminator =          factory.create_dyn_any_from_type_code(final_type.discriminator_type());        ((abstractDynAny) discriminator).listener = this;        if (final_type.default_index() >= 0)          set_to_default_member();        else          set_to_no_active_member();      }    catch (Exception ex)      {        InconsistentTypeCode inc = new InconsistentTypeCode("discriminator");        inc.initCause(ex);        throw inc;      }  }