func doResolve(n namespace.T, context *context.T, name string, options []naming.NamespaceOpt) (jutil.Object, error) { entry, err := n.Resolve(context, name, options...) if err != nil { return jutil.NullObject, err } env, freeFunc := jutil.GetEnv() defer freeFunc() jEntry, err := jutil.JVomCopy(env, entry, JMountEntryClass) if err != nil { return jutil.NullObject, err } // Must grab a global reference as we free up the env and all local references that come along // with it. return jutil.NewGlobalRef(env, jEntry), nil // Un-refed in DoAsyncCall }