Avoid Finalizers

Adding finalizers
to code makes the garbage collector more expensive and unpredictable. The
virtual machine does not guarantee the time at which finalizers are run. Finalizers
may not always be executed, before the program exits. Releasing critical resources
in finalize() methods may lead to unpredictable application
behavior.