TBR: java: Capture a reference to the go discovery instance in JavaDiscovery

Fixes https://github.com/vanadium/issues/issues/872
Change-Id: I4e4704cb35cc2f3cec5ad811a2bd6306ece68997
diff --git a/impl/google/discovery/util.go b/impl/google/discovery/util.go
index d788469..de4cbef 100644
--- a/impl/google/discovery/util.go
+++ b/impl/google/discovery/util.go
@@ -18,8 +18,9 @@
 // JavaDiscovery converts a Go discovery instance into a Java discovery instance.
 func JavaDiscovery(env jutil.Env, d discovery.T) (jutil.Object, error) {
 	trigger := idiscovery.NewTrigger()
-	// This reference will get unrefed when the jDiscovery object below is finalized.
+	// These reference will get unrefed when the jDiscovery object below is finalized.
 	jutil.GoRef(trigger)
+	jutil.GoRef(&d)
 
 	jDiscovery, err := jutil.NewObject(env, jVDiscoveryImplClass, []jutil.Sign{jutil.LongSign, jutil.LongSign}, int64(jutil.PtrValue(&d)), int64(jutil.PtrValue(trigger)))
 	if err != nil {