// Token: 0x060015AB RID: 5547 RVA: 0x00067294 File Offset: 0x00065494
        private static Func <object[], Class_299> GetJsonConverterCreator(Type converterType)
        {
            Func <object> defaultConstructor = Class_514.HasDefaultConstructor(converterType, false) ? Class_470.ReflectionDelegateFactory.smethod_4010 <object>(converterType) : null;

            return(delegate(object[] parameters)
            {
                Class_299 result;
                try
                {
                    if (parameters != null)
                    {
                        Type[] types = (from param in parameters
                                        select param.GetType()).ToArray <Type>();
                        ConstructorInfo constructor = converterType.GetConstructor(types);
                        if (!(null != constructor))
                        {
                            throw new Class_318("No matching parameterized constructor found for '{0}'.".FormatWith(CultureInfo.InvariantCulture, converterType));
                        }
                        Class_482 <object> class_ = Class_470.ReflectionDelegateFactory.pmethod_4009(constructor);
                        result = (Class_299)class_(parameters);
                    }
                    else
                    {
                        if (defaultConstructor == null)
                        {
                            throw new Class_318("No parameterless constructor defined for '{0}'.".FormatWith(CultureInfo.InvariantCulture, converterType));
                        }
                        result = (Class_299)defaultConstructor();
                    }
                }
                catch (Exception arg_)
                {
                    throw new Class_318("Error creating '{0}'.".FormatWith(CultureInfo.InvariantCulture, converterType), arg_);
                }
                return result;
            });
        }