internal JavaObject(IntPtr jobject) : this()
        {
            if (jobject == IntPtr.Zero)
            {
                throw new Exception("JavaObject: have tried to init JavaObject with null ptr!");
            }

            IntPtr objectClass = JNISafe.GetObjectClass(jobject);

            mObject = CreateGlobalRef(jobject);
            mClass  = CreateGlobalRef(objectClass);

            JNISafe.DeleteLocalRef(objectClass);
        }