/**
  * Finalizes this object. This method calls {@link #dispose()} and then calls <code>
  * super.finalize()</code>.
  *
  * @throws Throwable in case of an error.
  */
 protected final void finalize() throws Throwable {
   dispose();
   super.finalize();
 }