/** Destructor, releases COM and frees native resources. */ protected void finalize() throws Throwable { releaseInterface(); if (initializeSucceeded) { releaseCOM(); initializeSucceeded = false; } super.finalize(); }