public void Write(TProtocol oprot)
 {
     oprot.IncrementRecursionDepth();
     try
     {
         TStruct struc = new TStruct("InvokeExternalService_args");
         oprot.WriteStructBegin(struc);
         TField field = new TField();
         if (DDIPackage != null && __isset.DDIPackage)
         {
             field.Name = "DDIPackage";
             field.Type = TType.Struct;
             field.ID   = 1;
             oprot.WriteFieldBegin(field);
             DDIPackage.Write(oprot);
             oprot.WriteFieldEnd();
         }
         if (ServiceId != null && __isset.ServiceId)
         {
             field.Name = "ServiceId";
             field.Type = TType.String;
             field.ID   = 2;
             oprot.WriteFieldBegin(field);
             oprot.WriteString(ServiceId);
             oprot.WriteFieldEnd();
         }
         if (ServiceParameter != null && __isset.ServiceParameter)
         {
             field.Name = "ServiceParameter";
             field.Type = TType.List;
             field.ID   = 3;
             oprot.WriteFieldBegin(field);
             {
                 oprot.WriteListBegin(new TList(TType.Struct, ServiceParameter.Count));
                 foreach (TDDIExternalServiceParameter _iter1539 in ServiceParameter)
                 {
                     _iter1539.Write(oprot);
                 }
                 oprot.WriteListEnd();
             }
             oprot.WriteFieldEnd();
         }
         oprot.WriteFieldStop();
         oprot.WriteStructEnd();
     }
     finally
     {
         oprot.DecrementRecursionDepth();
     }
 }
            public override string ToString()
            {
                StringBuilder __sb    = new StringBuilder("InvokeExternalService_args(");
                bool          __first = true;

                if (DDIPackage != null && __isset.DDIPackage)
                {
                    if (!__first)
                    {
                        __sb.Append(", ");
                    }
                    __first = false;
                    __sb.Append("DDIPackage: ");
                    __sb.Append(DDIPackage == null ? "<null>" : DDIPackage.ToString());
                }
                if (ServiceId != null && __isset.ServiceId)
                {
                    if (!__first)
                    {
                        __sb.Append(", ");
                    }
                    __first = false;
                    __sb.Append("ServiceId: ");
                    __sb.Append(ServiceId);
                }
                if (ServiceParameter != null && __isset.ServiceParameter)
                {
                    if (!__first)
                    {
                        __sb.Append(", ");
                    }
                    __first = false;
                    __sb.Append("ServiceParameter: ");
                    __sb.Append(ServiceParameter);
                }
                __sb.Append(")");
                return(__sb.ToString());
            }