private void method_13(JsonProperty jsonProperty_0, MemberInfo memberInfo_0, bool bool_4)
        {
            Class129   class2   = new Class129();
            MemberInfo property = memberInfo_0.DeclaringType.GetProperty(memberInfo_0.Name + "Specified");

            if (property == null)
            {
                property = memberInfo_0.DeclaringType.GetField(memberInfo_0.Name + "Specified");
            }
            if ((property != null) && (Class194.smethod_20(property) == typeof(bool)))
            {
                class2.func_0 = Class139.Class166_0.method_0 <object>(property);
                jsonProperty_0.GetIsSpecified = new Predicate <object>(class2.method_0);
                if (Class194.smethod_26(property, bool_4, false))
                {
                    jsonProperty_0.SetIsSpecified = Class139.Class166_0.method_1 <object>(property);
                }
            }
        }
        protected virtual JsonProperty CreateProperty(MemberInfo member, MemberSerialization memberSerialization)
        {
            bool         flag;
            JsonProperty property = new JsonProperty {
                PropertyType  = Class194.smethod_20(member),
                DeclaringType = member.DeclaringType,
                ValueProvider = this.CreateMemberValueProvider(member)
            };

            this.method_11(property, member, member.Name, member.DeclaringType, memberSerialization, out flag);
            if (memberSerialization != MemberSerialization.Fields)
            {
                property.Readable = Class194.smethod_25(member, flag);
                property.Writable = Class194.smethod_26(member, flag, property.HasMemberAttribute);
            }
            else
            {
                property.Readable = true;
                property.Writable = true;
            }
            property.ShouldSerialize = this.method_12(member);
            this.method_13(property, member, flag);
            return(property);
        }