@Override
    @SuppressWarnings("Finalize")
    protected void finalize() throws Throwable {
        try {
            if (address != 0) {
                doFree(address);
            }
        } finally {
            super.finalize();
        }
    }
Used to hold onto native OpenSSL references and run finalization on those
objects. Individual types must subclass this and implement finalizer.
common/src/main/java/org/conscrypt/NativeRef.java