/** Test destroying a DynAny object. */
  public void testDestroyDynAny() {
    String msg;
    EmptyException type;
    org.omg.CORBA.Any any = null;
    org.omg.DynamicAny.DynStruct dynAny = null;

    type = new EmptyException();
    any = orb.create_any();
    EmptyExceptionHelper.insert(any, type);
    dynAny = createDynAnyFromAny(any);
    dynAny.destroy();

    try {
      dynAny.type();

      msg = "Failed to destroy DynAny using DynAny::destroy operation - ";
      msg += "calling DynAny::type operation on a destroyed DynAny object ";
      msg += "did not raise OBJECT_NOT_EXIST exception";
      fail(msg);
    } catch (org.omg.CORBA.OBJECT_NOT_EXIST ex) {
      // success
    }

    msg = "Failed to destroy DynAny using DynAny::destroy operation - ";
    msg += "calling DynAny::current_component operation on a destroyed ";
    msg += "DynAny object did not raise OBJECT_NOT_EXIST exception";
    try {
      dynAny.current_component();

      fail(msg);
    } catch (org.omg.CORBA.OBJECT_NOT_EXIST ex) {
      // success
    } catch (org.omg.DynamicAny.DynAnyPackage.TypeMismatch ex) {
      fail(msg + ": " + ex);
    }
  }