for ( ; objectClass != destroyedClass ; objectClass = objectClass.getSuperclass ())
for ( ; objectClass != DestroyedClass ; objectClass = objectClass.getSuperclass ())
    void Destroy ()    {        // make sure the object hasn't been destroyed yet        ASSERT (!destroyed);        destroyed = true;                Class objectClass = this.getClass ();        ASSERT (objectClass != null);                for ( ; objectClass != destroyedClass ; objectClass = objectClass.getSuperclass ())        {            Method deleteMethod = null;                        try            {                deleteMethod = objectClass.getDeclaredMethod ("Delete", null);                ASSERT (deleteMethod != null);                                deleteMethod.invoke (this, null);            }            catch (NoSuchMethodException error)            {                // do nothing, this isn't really an error                // just an annoying Java-ism            }                        // I hope I can just catch the rest of the exceptions here...            catch (Throwable error)            {                // This REALLY shouldn't happen                // just assert                ASSERT (false);            }        }    }