private void check_term_acks ()
    {
        if (terminating && processed_seqnum == sent_seqnum.get () &&
              term_acks == 0) {

            //  Sanity check. There should be no active children at this point.
            assert (owned.isEmpty ());

            //  The root object has nobody to confirm the termination to.
            //  Other nodes will confirm the termination to the owner.
            if (owner != null)
                send_term_ack (owner);

            //  Deallocate the resources.
            process_destroy ();
        }
    }