public Builder SetOrderDetailBid(global::Futu.OpenApi.Pb.QotCommon.OrderDetail.Builder builderForValue)
 {
     pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
     PrepareBuilder();
     result.hasOrderDetailBid = true;
     result.orderDetailBid_   = builderForValue.Build();
     return(this);
 }
                public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry)
                {
                    PrepareBuilder();
                    pb::UnknownFieldSet.Builder unknownFields = null;
                    uint   tag;
                    string field_name;

                    while (input.ReadTag(out tag, out field_name))
                    {
                        if (tag == 0 && field_name != null)
                        {
                            int field_ordinal = global::System.Array.BinarySearch(_s2CFieldNames, field_name, global::System.StringComparer.Ordinal);
                            if (field_ordinal >= 0)
                            {
                                tag = _s2CFieldTags[field_ordinal];
                            }
                            else
                            {
                                if (unknownFields == null)
                                {
                                    unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
                                }
                                ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);
                                continue;
                            }
                        }
                        switch (tag)
                        {
                        case 0: {
                            throw pb::InvalidProtocolBufferException.InvalidTag();
                        }

                        default: {
                            if (pb::WireFormat.IsEndGroupTag(tag))
                            {
                                if (unknownFields != null)
                                {
                                    this.UnknownFields = unknownFields.Build();
                                }
                                return(this);
                            }
                            if (unknownFields == null)
                            {
                                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
                            }
                            ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);
                            break;
                        }

                        case 10: {
                            global::Futu.OpenApi.Pb.QotCommon.Security.Builder subBuilder = global::Futu.OpenApi.Pb.QotCommon.Security.CreateBuilder();
                            if (result.hasSecurity)
                            {
                                subBuilder.MergeFrom(Security);
                            }
                            input.ReadMessage(subBuilder, extensionRegistry);
                            Security = subBuilder.BuildPartial();
                            break;
                        }

                        case 18: {
                            global::Futu.OpenApi.Pb.QotCommon.OrderDetail.Builder subBuilder = global::Futu.OpenApi.Pb.QotCommon.OrderDetail.CreateBuilder();
                            if (result.hasOrderDetailAsk)
                            {
                                subBuilder.MergeFrom(OrderDetailAsk);
                            }
                            input.ReadMessage(subBuilder, extensionRegistry);
                            OrderDetailAsk = subBuilder.BuildPartial();
                            break;
                        }

                        case 26: {
                            global::Futu.OpenApi.Pb.QotCommon.OrderDetail.Builder subBuilder = global::Futu.OpenApi.Pb.QotCommon.OrderDetail.CreateBuilder();
                            if (result.hasOrderDetailBid)
                            {
                                subBuilder.MergeFrom(OrderDetailBid);
                            }
                            input.ReadMessage(subBuilder, extensionRegistry);
                            OrderDetailBid = subBuilder.BuildPartial();
                            break;
                        }
                        }
                    }

                    if (unknownFields != null)
                    {
                        this.UnknownFields = unknownFields.Build();
                    }
                    return(this);
                }