public void Write(TProtocol oprot)
 {
     oprot.IncrementRecursionDepth();
     try
     {
         TStruct struc = new TStruct("VariasLotacoesHeaderThrift");
         oprot.WriteStructBegin(struc);
         TField field = new TField();
         if (LotacaoFormPrincipal != null && __isset.lotacaoFormPrincipal)
         {
             field.Name = "lotacaoFormPrincipal";
             field.Type = TType.Struct;
             field.ID   = 6;
             oprot.WriteFieldBegin(field);
             LotacaoFormPrincipal.Write(oprot);
             oprot.WriteFieldEnd();
         }
         if (LotacaoFormAtendimentoCompartilhado != null && __isset.lotacaoFormAtendimentoCompartilhado)
         {
             field.Name = "lotacaoFormAtendimentoCompartilhado";
             field.Type = TType.Struct;
             field.ID   = 7;
             oprot.WriteFieldBegin(field);
             LotacaoFormAtendimentoCompartilhado.Write(oprot);
             oprot.WriteFieldEnd();
         }
         if (__isset.dataAtendimento)
         {
             field.Name = "dataAtendimento";
             field.Type = TType.I64;
             field.ID   = 8;
             oprot.WriteFieldBegin(field);
             oprot.WriteI64(DataAtendimento);
             oprot.WriteFieldEnd();
         }
         if (CodigoIbgeMunicipio != null && __isset.codigoIbgeMunicipio)
         {
             field.Name = "codigoIbgeMunicipio";
             field.Type = TType.String;
             field.ID   = 9;
             oprot.WriteFieldBegin(field);
             oprot.WriteString(CodigoIbgeMunicipio);
             oprot.WriteFieldEnd();
         }
         oprot.WriteFieldStop();
         oprot.WriteStructEnd();
     }
     finally
     {
         oprot.DecrementRecursionDepth();
     }
 }