public override Int16?CreateGenericValue(ref JniObjectReference reference, JniObjectReferenceOptions options, Type targetType)
        {
            if (!reference.IsValid)
            {
                return(null);
            }

            return(JniShort.GetValueFromJni(ref reference, options, targetType: null));
        }
        public override JniValueMarshalerState CreateGenericObjectReferenceArgumentState(Int16?value, ParameterAttributes synchronize)
        {
            if (!value.HasValue)
            {
                return(new JniValueMarshalerState());
            }
            var r = JniShort.CreateLocalRef(value.Value);

            return(new JniValueMarshalerState(r));
        }