public void Write(TProtocol oprot) {
TStruct struc = new TStruct("IndexClause");
oprot.WriteStructBegin(struc);
TField field = new TField();
if (Expressions != null && __isset.expressions) {
field.Name = "expressions";
field.Type = TType.List;
field.ID = 1;
oprot.WriteFieldBegin(field);
{
oprot.WriteListBegin(new TList(TType.Struct, Expressions.Count));
foreach (IndexExpression _iter15 in Expressions)
{
_iter15.Write(oprot);
}
oprot.WriteListEnd();
}
oprot.WriteFieldEnd();
}
if (Start_key != null && __isset.start_key) {
field.Name = "start_key";
field.Type = TType.String;
field.ID = 2;
oprot.WriteFieldBegin(field);
oprot.WriteBinary(Start_key);
oprot.WriteFieldEnd();
}
if (__isset.count) {
field.Name = "count";
field.Type = TType.I32;
field.ID = 3;
oprot.WriteFieldBegin(field);
oprot.WriteI32(Count);
oprot.WriteFieldEnd();
}
oprot.WriteFieldStop();
oprot.WriteStructEnd();
}