I'm fine with this code, but as a general note: we should be using finalize very sparingly due to its performance hit. But we won't be creating that many of these objects, and the log.warn can be very useful for the user.
    http://stackoverflow.com/questions/2860121/why-do-finalizers-have-a-severe-performance-penalty