internal override Collection <CommandParameterInternal> BindParameters(Collection <CommandParameterInternal> parameters)
        {
            ArrayList list = new ArrayList();

            foreach (CommandParameterInternal internal2 in parameters)
            {
                if (internal2.ParameterNameSpecified)
                {
                    StringBuilder builder             = new StringBuilder();
                    bool          spaceAfterParameter = internal2.SpaceAfterParameter;
                    builder.Append(internal2.ParameterText);
                    object argumentValue = internal2.ArgumentValue;
                    if ((argumentValue != AutomationNull.Value) && (argumentValue != UnboundParameter.Value))
                    {
                        if (spaceAfterParameter)
                        {
                            list.Add(builder);
                            builder = new StringBuilder();
                        }
                        NativeCommandParameterBinder.appendOneNativeArgument(base.Context, builder, false, argumentValue);
                    }
                    list.Add(builder);
                }
                else
                {
                    list.Add(internal2.ArgumentValue);
                }
            }
            base.DefaultParameterBinder.BindParameter(null, list);
            return(new Collection <CommandParameterInternal>());
        }
        internal override Collection <CommandParameterInternal> BindParameters(
            Collection <CommandParameterInternal> parameters)
        {
            ArrayList arrayList = new ArrayList();

            foreach (CommandParameterInternal parameter in parameters)
            {
                if (parameter.Name != null)
                {
                    StringBuilder argumentBuilder = new StringBuilder();
                    bool          flag            = true;
                    if (parameter.Value1 is Token token)
                    {
                        argumentBuilder.Append(token.ToString());
                        if (!token.FollowedBySpace)
                        {
                            flag = false;
                        }
                    }
                    else
                    {
                        argumentBuilder.Append(parameter.Name);
                    }
                    if (parameter.Value2 != AutomationNull.Value && parameter.Value2 != UnboundParameter.Value)
                    {
                        if (flag)
                        {
                            arrayList.Add((object)argumentBuilder);
                            argumentBuilder = new StringBuilder();
                        }
                        NativeCommandParameterBinder.appendOneNativeArgument(this.Context, argumentBuilder, false, parameter.Value2);
                    }
                    arrayList.Add((object)argumentBuilder);
                }
                else
                {
                    arrayList.Add(parameter.Value1);
                }
            }
            this.DefaultParameterBinder.BindParameter((string)null, (object)arrayList);
            return(new Collection <CommandParameterInternal>());
        }