public void Write(TProtocol oprot)
 {
     oprot.IncrementRecursionDepth();
     try
     {
         TStruct struc = new TStruct("SearchSquareMembersRequest");
         oprot.WriteStructBegin(struc);
         TField field = new TField();
         if (SquareMid != null && __isset.squareMid)
         {
             field.Name = "squareMid";
             field.Type = TType.String;
             field.ID   = 2;
             oprot.WriteFieldBegin(field);
             oprot.WriteString(SquareMid);
             oprot.WriteFieldEnd();
         }
         if (SearchOption != null && __isset.searchOption)
         {
             field.Name = "searchOption";
             field.Type = TType.Struct;
             field.ID   = 3;
             oprot.WriteFieldBegin(field);
             SearchOption.Write(oprot);
             oprot.WriteFieldEnd();
         }
         if (ContinuationToken != null && __isset.continuationToken)
         {
             field.Name = "continuationToken";
             field.Type = TType.String;
             field.ID   = 4;
             oprot.WriteFieldBegin(field);
             oprot.WriteString(ContinuationToken);
             oprot.WriteFieldEnd();
         }
         if (__isset.limit)
         {
             field.Name = "limit";
             field.Type = TType.I32;
             field.ID   = 5;
             oprot.WriteFieldBegin(field);
             oprot.WriteI32(Limit);
             oprot.WriteFieldEnd();
         }
         oprot.WriteFieldStop();
         oprot.WriteStructEnd();
     }
     finally
     {
         oprot.DecrementRecursionDepth();
     }
 }