internal JValue Box(JValue primitiveValue, PrimitiveType primitiveType) { IntPtr constructorId = _vm.GetMethodID(_jniClass, "<init>", String.Format(CultureInfo.InvariantCulture, "({0})V", primitiveType.JniClassName)); if (constructorId == IntPtr.Zero) { throw new InvalidOperationException(String.Format(CultureInfo.InvariantCulture, "No appropriate boxing constructor found for class {0} for primitive type {1}", _name, primitiveType.Kind)); } return(_vm.NewObject(_jniClass, constructorId, primitiveValue)); }