示例#1
0
        public void Read(TProtocol iprot)
        {
            iprot.IncrementRecursionDepth();
            try
            {
                TField field;
                iprot.ReadStructBegin();
                while (true)
                {
                    field = iprot.ReadFieldBegin();
                    if (field.Type == TType.Stop)
                    {
                        break;
                    }
                    switch (field.ID)
                    {
                    case 1:
                        if (field.Type == TType.Struct)
                        {
                            Ref = new TDDIAbstractArgumentPackage();
                            Ref.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    default:
                        TProtocolUtil.Skip(iprot, field.Type);
                        break;
                    }
                    iprot.ReadFieldEnd();
                }
                iprot.ReadStructEnd();
            }
            finally
            {
                iprot.DecrementRecursionDepth();
            }
        }
示例#2
0
        public void Read(TProtocol iprot)
        {
            iprot.IncrementRecursionDepth();
            try
            {
                TField field;
                iprot.ReadStructBegin();
                while (true)
                {
                    field = iprot.ReadFieldBegin();
                    if (field.Type == TType.Stop)
                    {
                        break;
                    }
                    switch (field.ID)
                    {
                    case 1:
                        if (field.Type == TType.String)
                        {
                            Gid = iprot.ReadString();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 2:
                        if (field.Type == TType.Bool)
                        {
                            IsCitation = iprot.ReadBool();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 3:
                        if (field.Type == TType.Bool)
                        {
                            IsAbstract = iprot.ReadBool();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 4:
                        if (field.Type == TType.Struct)
                        {
                            CitedElement = new TDDIAbstractSACMElement();
                            CitedElement.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 5:
                        if (field.Type == TType.Struct)
                        {
                            AbstractForm = new TDDIAbstractSACMElement();
                            AbstractForm.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 6:
                        if (field.Type == TType.Struct)
                        {
                            Name = new TDDIAbstractLangString();
                            Name.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 7:
                        if (field.Type == TType.Struct)
                        {
                            Description = new TDDIDescription();
                            Description.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 8:
                        if (field.Type == TType.List)
                        {
                            {
                                ImplementationConstraint = new List <TDDIImplementationConstraintRef>();
                                TList _list1152 = iprot.ReadListBegin();
                                for (int _i1153 = 0; _i1153 < _list1152.Count; ++_i1153)
                                {
                                    TDDIImplementationConstraintRef _elem1154;
                                    _elem1154 = new TDDIImplementationConstraintRef();
                                    _elem1154.Read(iprot);
                                    ImplementationConstraint.Add(_elem1154);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 9:
                        if (field.Type == TType.List)
                        {
                            {
                                Note = new List <TDDINoteRef>();
                                TList _list1155 = iprot.ReadListBegin();
                                for (int _i1156 = 0; _i1156 < _list1155.Count; ++_i1156)
                                {
                                    TDDINoteRef _elem1157;
                                    _elem1157 = new TDDINoteRef();
                                    _elem1157.Read(iprot);
                                    Note.Add(_elem1157);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 10:
                        if (field.Type == TType.List)
                        {
                            {
                                TaggedValue = new List <TDDITaggedValueRef>();
                                TList _list1158 = iprot.ReadListBegin();
                                for (int _i1159 = 0; _i1159 < _list1158.Count; ++_i1159)
                                {
                                    TDDITaggedValueRef _elem1160;
                                    _elem1160 = new TDDITaggedValueRef();
                                    _elem1160.Read(iprot);
                                    TaggedValue.Add(_elem1160);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 11:
                        if (field.Type == TType.List)
                        {
                            {
                                AssuranceCasePackage = new List <TDDIAbstractAssuranceCasePackage>();
                                TList _list1161 = iprot.ReadListBegin();
                                for (int _i1162 = 0; _i1162 < _list1161.Count; ++_i1162)
                                {
                                    TDDIAbstractAssuranceCasePackage _elem1163;
                                    _elem1163 = new TDDIAbstractAssuranceCasePackage();
                                    _elem1163.Read(iprot);
                                    AssuranceCasePackage.Add(_elem1163);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 12:
                        if (field.Type == TType.List)
                        {
                            {
                                Interface = new List <TDDIAssuranceCasePackageInterfaceRef>();
                                TList _list1164 = iprot.ReadListBegin();
                                for (int _i1165 = 0; _i1165 < _list1164.Count; ++_i1165)
                                {
                                    TDDIAssuranceCasePackageInterfaceRef _elem1166;
                                    _elem1166 = new TDDIAssuranceCasePackageInterfaceRef();
                                    _elem1166.Read(iprot);
                                    Interface.Add(_elem1166);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 13:
                        if (field.Type == TType.List)
                        {
                            {
                                ArtifactPackage = new List <TDDIAbstractArtifactPackage>();
                                TList _list1167 = iprot.ReadListBegin();
                                for (int _i1168 = 0; _i1168 < _list1167.Count; ++_i1168)
                                {
                                    TDDIAbstractArtifactPackage _elem1169;
                                    _elem1169 = new TDDIAbstractArtifactPackage();
                                    _elem1169.Read(iprot);
                                    ArtifactPackage.Add(_elem1169);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 14:
                        if (field.Type == TType.List)
                        {
                            {
                                ArgumentPackage = new List <TDDIAbstractArgumentPackage>();
                                TList _list1170 = iprot.ReadListBegin();
                                for (int _i1171 = 0; _i1171 < _list1170.Count; ++_i1171)
                                {
                                    TDDIAbstractArgumentPackage _elem1172;
                                    _elem1172 = new TDDIAbstractArgumentPackage();
                                    _elem1172.Read(iprot);
                                    ArgumentPackage.Add(_elem1172);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 15:
                        if (field.Type == TType.List)
                        {
                            {
                                TerminologyPackage = new List <TDDIAbstractTerminologyPackage>();
                                TList _list1173 = iprot.ReadListBegin();
                                for (int _i1174 = 0; _i1174 < _list1173.Count; ++_i1174)
                                {
                                    TDDIAbstractTerminologyPackage _elem1175;
                                    _elem1175 = new TDDIAbstractTerminologyPackage();
                                    _elem1175.Read(iprot);
                                    TerminologyPackage.Add(_elem1175);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    default:
                        TProtocolUtil.Skip(iprot, field.Type);
                        break;
                    }
                    iprot.ReadFieldEnd();
                }
                iprot.ReadStructEnd();
            }
            finally
            {
                iprot.DecrementRecursionDepth();
            }
        }
示例#3
0
        public void Read(TProtocol iprot)
        {
            iprot.IncrementRecursionDepth();
            try
            {
                TField field;
                iprot.ReadStructBegin();
                while (true)
                {
                    field = iprot.ReadFieldBegin();
                    if (field.Type == TType.Stop)
                    {
                        break;
                    }
                    switch (field.ID)
                    {
                    case 1:
                        if (field.Type == TType.String)
                        {
                            Gid = iprot.ReadString();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 2:
                        if (field.Type == TType.Bool)
                        {
                            IsCitation = iprot.ReadBool();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 3:
                        if (field.Type == TType.Bool)
                        {
                            IsAbstract = iprot.ReadBool();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 4:
                        if (field.Type == TType.Struct)
                        {
                            CitedElement = new TDDIAbstractSACMElement();
                            CitedElement.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 5:
                        if (field.Type == TType.Struct)
                        {
                            AbstractForm = new TDDIAbstractSACMElement();
                            AbstractForm.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 6:
                        if (field.Type == TType.Struct)
                        {
                            Name = new TDDIAbstractLangString();
                            Name.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 7:
                        if (field.Type == TType.Struct)
                        {
                            Description = new TDDIDescription();
                            Description.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 8:
                        if (field.Type == TType.List)
                        {
                            {
                                ImplementationConstraint = new List <TDDIImplementationConstraintRef>();
                                TList _list764 = iprot.ReadListBegin();
                                for (int _i765 = 0; _i765 < _list764.Count; ++_i765)
                                {
                                    TDDIImplementationConstraintRef _elem766;
                                    _elem766 = new TDDIImplementationConstraintRef();
                                    _elem766.Read(iprot);
                                    ImplementationConstraint.Add(_elem766);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 9:
                        if (field.Type == TType.List)
                        {
                            {
                                Note = new List <TDDINoteRef>();
                                TList _list767 = iprot.ReadListBegin();
                                for (int _i768 = 0; _i768 < _list767.Count; ++_i768)
                                {
                                    TDDINoteRef _elem769;
                                    _elem769 = new TDDINoteRef();
                                    _elem769.Read(iprot);
                                    Note.Add(_elem769);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 10:
                        if (field.Type == TType.List)
                        {
                            {
                                TaggedValue = new List <TDDITaggedValueRef>();
                                TList _list770 = iprot.ReadListBegin();
                                for (int _i771 = 0; _i771 < _list770.Count; ++_i771)
                                {
                                    TDDITaggedValueRef _elem772;
                                    _elem772 = new TDDITaggedValueRef();
                                    _elem772.Read(iprot);
                                    TaggedValue.Add(_elem772);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 11:
                        if (field.Type == TType.List)
                        {
                            {
                                ArgumentationElement = new List <TDDIAbstractArgumentationElementRef>();
                                TList _list773 = iprot.ReadListBegin();
                                for (int _i774 = 0; _i774 < _list773.Count; ++_i774)
                                {
                                    TDDIAbstractArgumentationElementRef _elem775;
                                    _elem775 = new TDDIAbstractArgumentationElementRef();
                                    _elem775.Read(iprot);
                                    ArgumentationElement.Add(_elem775);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 12:
                        if (field.Type == TType.Struct)
                        {
                            Implements = new TDDIAbstractArgumentPackage();
                            Implements.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    default:
                        TProtocolUtil.Skip(iprot, field.Type);
                        break;
                    }
                    iprot.ReadFieldEnd();
                }
                iprot.ReadStructEnd();
            }
            finally
            {
                iprot.DecrementRecursionDepth();
            }
        }
        public void Read(TProtocol iprot)
        {
            iprot.IncrementRecursionDepth();
            try
            {
                TField field;
                iprot.ReadStructBegin();
                while (true)
                {
                    field = iprot.ReadFieldBegin();
                    if (field.Type == TType.Stop)
                    {
                        break;
                    }
                    switch (field.ID)
                    {
                    case 1:
                        if (field.Type == TType.String)
                        {
                            Gid = iprot.ReadString();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 2:
                        if (field.Type == TType.Bool)
                        {
                            IsCitation = iprot.ReadBool();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 3:
                        if (field.Type == TType.Bool)
                        {
                            IsAbstract = iprot.ReadBool();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 4:
                        if (field.Type == TType.Struct)
                        {
                            CitedElement = new TDDIAbstractSACMElement();
                            CitedElement.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 5:
                        if (field.Type == TType.Struct)
                        {
                            AbstractForm = new TDDIAbstractSACMElement();
                            AbstractForm.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 6:
                        if (field.Type == TType.Struct)
                        {
                            Name = new TDDIAbstractLangString();
                            Name.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 7:
                        if (field.Type == TType.Struct)
                        {
                            Description = new TDDIDescription();
                            Description.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 8:
                        if (field.Type == TType.List)
                        {
                            {
                                ImplementationConstraint = new List <TDDIImplementationConstraintRef>();
                                TList _list1216 = iprot.ReadListBegin();
                                for (int _i1217 = 0; _i1217 < _list1216.Count; ++_i1217)
                                {
                                    TDDIImplementationConstraintRef _elem1218;
                                    _elem1218 = new TDDIImplementationConstraintRef();
                                    _elem1218.Read(iprot);
                                    ImplementationConstraint.Add(_elem1218);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 9:
                        if (field.Type == TType.List)
                        {
                            {
                                Note = new List <TDDINoteRef>();
                                TList _list1219 = iprot.ReadListBegin();
                                for (int _i1220 = 0; _i1220 < _list1219.Count; ++_i1220)
                                {
                                    TDDINoteRef _elem1221;
                                    _elem1221 = new TDDINoteRef();
                                    _elem1221.Read(iprot);
                                    Note.Add(_elem1221);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 10:
                        if (field.Type == TType.List)
                        {
                            {
                                TaggedValue = new List <TDDITaggedValueRef>();
                                TList _list1222 = iprot.ReadListBegin();
                                for (int _i1223 = 0; _i1223 < _list1222.Count; ++_i1223)
                                {
                                    TDDITaggedValueRef _elem1224;
                                    _elem1224 = new TDDITaggedValueRef();
                                    _elem1224.Read(iprot);
                                    TaggedValue.Add(_elem1224);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 11:
                        if (field.Type == TType.List)
                        {
                            {
                                AssuranceCasePackage = new List <TDDIAbstractAssuranceCasePackage>();
                                TList _list1225 = iprot.ReadListBegin();
                                for (int _i1226 = 0; _i1226 < _list1225.Count; ++_i1226)
                                {
                                    TDDIAbstractAssuranceCasePackage _elem1227;
                                    _elem1227 = new TDDIAbstractAssuranceCasePackage();
                                    _elem1227.Read(iprot);
                                    AssuranceCasePackage.Add(_elem1227);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 12:
                        if (field.Type == TType.List)
                        {
                            {
                                Interface = new List <TDDIAssuranceCasePackageInterfaceRef>();
                                TList _list1228 = iprot.ReadListBegin();
                                for (int _i1229 = 0; _i1229 < _list1228.Count; ++_i1229)
                                {
                                    TDDIAssuranceCasePackageInterfaceRef _elem1230;
                                    _elem1230 = new TDDIAssuranceCasePackageInterfaceRef();
                                    _elem1230.Read(iprot);
                                    Interface.Add(_elem1230);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 13:
                        if (field.Type == TType.List)
                        {
                            {
                                ArtifactPackage = new List <TDDIAbstractArtifactPackage>();
                                TList _list1231 = iprot.ReadListBegin();
                                for (int _i1232 = 0; _i1232 < _list1231.Count; ++_i1232)
                                {
                                    TDDIAbstractArtifactPackage _elem1233;
                                    _elem1233 = new TDDIAbstractArtifactPackage();
                                    _elem1233.Read(iprot);
                                    ArtifactPackage.Add(_elem1233);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 14:
                        if (field.Type == TType.List)
                        {
                            {
                                ArgumentPackage = new List <TDDIAbstractArgumentPackage>();
                                TList _list1234 = iprot.ReadListBegin();
                                for (int _i1235 = 0; _i1235 < _list1234.Count; ++_i1235)
                                {
                                    TDDIAbstractArgumentPackage _elem1236;
                                    _elem1236 = new TDDIAbstractArgumentPackage();
                                    _elem1236.Read(iprot);
                                    ArgumentPackage.Add(_elem1236);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 15:
                        if (field.Type == TType.List)
                        {
                            {
                                TerminologyPackage = new List <TDDIAbstractTerminologyPackage>();
                                TList _list1237 = iprot.ReadListBegin();
                                for (int _i1238 = 0; _i1238 < _list1237.Count; ++_i1238)
                                {
                                    TDDIAbstractTerminologyPackage _elem1239;
                                    _elem1239 = new TDDIAbstractTerminologyPackage();
                                    _elem1239.Read(iprot);
                                    TerminologyPackage.Add(_elem1239);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 16:
                        if (field.Type == TType.List)
                        {
                            {
                                ParticipantPackage = new List <TDDIAbstractAssuranceCasePackageRef>();
                                TList _list1240 = iprot.ReadListBegin();
                                for (int _i1241 = 0; _i1241 < _list1240.Count; ++_i1241)
                                {
                                    TDDIAbstractAssuranceCasePackageRef _elem1242;
                                    _elem1242 = new TDDIAbstractAssuranceCasePackageRef();
                                    _elem1242.Read(iprot);
                                    ParticipantPackage.Add(_elem1242);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    default:
                        TProtocolUtil.Skip(iprot, field.Type);
                        break;
                    }
                    iprot.ReadFieldEnd();
                }
                iprot.ReadStructEnd();
            }
            finally
            {
                iprot.DecrementRecursionDepth();
            }
        }
        public void Read(TProtocol iprot)
        {
            iprot.IncrementRecursionDepth();
            try
            {
                TField field;
                iprot.ReadStructBegin();
                while (true)
                {
                    field = iprot.ReadFieldBegin();
                    if (field.Type == TType.Stop)
                    {
                        break;
                    }
                    switch (field.ID)
                    {
                    case 1:
                        if (field.Type == TType.String)
                        {
                            Gid = iprot.ReadString();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 2:
                        if (field.Type == TType.Bool)
                        {
                            IsCitation = iprot.ReadBool();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 3:
                        if (field.Type == TType.Bool)
                        {
                            IsAbstract = iprot.ReadBool();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 4:
                        if (field.Type == TType.Struct)
                        {
                            CitedElement = new TDDIAbstractSACMElement();
                            CitedElement.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 5:
                        if (field.Type == TType.Struct)
                        {
                            AbstractForm = new TDDIAbstractSACMElement();
                            AbstractForm.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 6:
                        if (field.Type == TType.Struct)
                        {
                            Name = new TDDIAbstractLangString();
                            Name.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 7:
                        if (field.Type == TType.Struct)
                        {
                            Description = new TDDIDescription();
                            Description.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 8:
                        if (field.Type == TType.List)
                        {
                            {
                                ImplementationConstraint = new List <TDDIImplementationConstraintRef>();
                                TList _list1184 = iprot.ReadListBegin();
                                for (int _i1185 = 0; _i1185 < _list1184.Count; ++_i1185)
                                {
                                    TDDIImplementationConstraintRef _elem1186;
                                    _elem1186 = new TDDIImplementationConstraintRef();
                                    _elem1186.Read(iprot);
                                    ImplementationConstraint.Add(_elem1186);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 9:
                        if (field.Type == TType.List)
                        {
                            {
                                Note = new List <TDDINoteRef>();
                                TList _list1187 = iprot.ReadListBegin();
                                for (int _i1188 = 0; _i1188 < _list1187.Count; ++_i1188)
                                {
                                    TDDINoteRef _elem1189;
                                    _elem1189 = new TDDINoteRef();
                                    _elem1189.Read(iprot);
                                    Note.Add(_elem1189);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 10:
                        if (field.Type == TType.List)
                        {
                            {
                                TaggedValue = new List <TDDITaggedValueRef>();
                                TList _list1190 = iprot.ReadListBegin();
                                for (int _i1191 = 0; _i1191 < _list1190.Count; ++_i1191)
                                {
                                    TDDITaggedValueRef _elem1192;
                                    _elem1192 = new TDDITaggedValueRef();
                                    _elem1192.Read(iprot);
                                    TaggedValue.Add(_elem1192);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 11:
                        if (field.Type == TType.List)
                        {
                            {
                                AssuranceCasePackage = new List <TDDIAbstractAssuranceCasePackage>();
                                TList _list1193 = iprot.ReadListBegin();
                                for (int _i1194 = 0; _i1194 < _list1193.Count; ++_i1194)
                                {
                                    TDDIAbstractAssuranceCasePackage _elem1195;
                                    _elem1195 = new TDDIAbstractAssuranceCasePackage();
                                    _elem1195.Read(iprot);
                                    AssuranceCasePackage.Add(_elem1195);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 12:
                        if (field.Type == TType.List)
                        {
                            {
                                Interface = new List <TDDIAssuranceCasePackageInterfaceRef>();
                                TList _list1196 = iprot.ReadListBegin();
                                for (int _i1197 = 0; _i1197 < _list1196.Count; ++_i1197)
                                {
                                    TDDIAssuranceCasePackageInterfaceRef _elem1198;
                                    _elem1198 = new TDDIAssuranceCasePackageInterfaceRef();
                                    _elem1198.Read(iprot);
                                    Interface.Add(_elem1198);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 13:
                        if (field.Type == TType.List)
                        {
                            {
                                ArtifactPackage = new List <TDDIAbstractArtifactPackage>();
                                TList _list1199 = iprot.ReadListBegin();
                                for (int _i1200 = 0; _i1200 < _list1199.Count; ++_i1200)
                                {
                                    TDDIAbstractArtifactPackage _elem1201;
                                    _elem1201 = new TDDIAbstractArtifactPackage();
                                    _elem1201.Read(iprot);
                                    ArtifactPackage.Add(_elem1201);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 14:
                        if (field.Type == TType.List)
                        {
                            {
                                ArgumentPackage = new List <TDDIAbstractArgumentPackage>();
                                TList _list1202 = iprot.ReadListBegin();
                                for (int _i1203 = 0; _i1203 < _list1202.Count; ++_i1203)
                                {
                                    TDDIAbstractArgumentPackage _elem1204;
                                    _elem1204 = new TDDIAbstractArgumentPackage();
                                    _elem1204.Read(iprot);
                                    ArgumentPackage.Add(_elem1204);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 15:
                        if (field.Type == TType.List)
                        {
                            {
                                TerminologyPackage = new List <TDDIAbstractTerminologyPackage>();
                                TList _list1205 = iprot.ReadListBegin();
                                for (int _i1206 = 0; _i1206 < _list1205.Count; ++_i1206)
                                {
                                    TDDIAbstractTerminologyPackage _elem1207;
                                    _elem1207 = new TDDIAbstractTerminologyPackage();
                                    _elem1207.Read(iprot);
                                    TerminologyPackage.Add(_elem1207);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 16:
                        if (field.Type == TType.Struct)
                        {
                            Implements = new TDDIAbstractAssuranceCasePackage();
                            Implements.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    default:
                        TProtocolUtil.Skip(iprot, field.Type);
                        break;
                    }
                    iprot.ReadFieldEnd();
                }
                iprot.ReadStructEnd();
            }
            finally
            {
                iprot.DecrementRecursionDepth();
            }
        }
        public void Read(TProtocol iprot)
        {
            iprot.IncrementRecursionDepth();
            try
            {
                TField field;
                iprot.ReadStructBegin();
                while (true)
                {
                    field = iprot.ReadFieldBegin();
                    if (field.Type == TType.Stop)
                    {
                        break;
                    }
                    switch (field.ID)
                    {
                    case 1:
                        if (field.Type == TType.String)
                        {
                            Gid = iprot.ReadString();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 2:
                        if (field.Type == TType.Bool)
                        {
                            IsCitation = iprot.ReadBool();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 3:
                        if (field.Type == TType.Bool)
                        {
                            IsAbstract = iprot.ReadBool();
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 4:
                        if (field.Type == TType.Struct)
                        {
                            CitedElement = new TDDIAbstractSACMElement();
                            CitedElement.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 5:
                        if (field.Type == TType.Struct)
                        {
                            AbstractForm = new TDDIAbstractSACMElement();
                            AbstractForm.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 6:
                        if (field.Type == TType.Struct)
                        {
                            Name = new TDDIAbstractLangString();
                            Name.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 7:
                        if (field.Type == TType.Struct)
                        {
                            Description = new TDDIDescription();
                            Description.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 8:
                        if (field.Type == TType.List)
                        {
                            {
                                ImplementationConstraint = new List <TDDIImplementationConstraintRef>();
                                TList _list800 = iprot.ReadListBegin();
                                for (int _i801 = 0; _i801 < _list800.Count; ++_i801)
                                {
                                    TDDIImplementationConstraintRef _elem802;
                                    _elem802 = new TDDIImplementationConstraintRef();
                                    _elem802.Read(iprot);
                                    ImplementationConstraint.Add(_elem802);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 9:
                        if (field.Type == TType.List)
                        {
                            {
                                Note = new List <TDDINoteRef>();
                                TList _list803 = iprot.ReadListBegin();
                                for (int _i804 = 0; _i804 < _list803.Count; ++_i804)
                                {
                                    TDDINoteRef _elem805;
                                    _elem805 = new TDDINoteRef();
                                    _elem805.Read(iprot);
                                    Note.Add(_elem805);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 10:
                        if (field.Type == TType.List)
                        {
                            {
                                TaggedValue = new List <TDDITaggedValueRef>();
                                TList _list806 = iprot.ReadListBegin();
                                for (int _i807 = 0; _i807 < _list806.Count; ++_i807)
                                {
                                    TDDITaggedValueRef _elem808;
                                    _elem808 = new TDDITaggedValueRef();
                                    _elem808.Read(iprot);
                                    TaggedValue.Add(_elem808);
                                }
                                iprot.ReadListEnd();
                            }
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 11:
                        if (field.Type == TType.Struct)
                        {
                            Structure = new TDDIAbstractArgumentPackage();
                            Structure.Read(iprot);
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    default:
                        TProtocolUtil.Skip(iprot, field.Type);
                        break;
                    }
                    iprot.ReadFieldEnd();
                }
                iprot.ReadStructEnd();
            }
            finally
            {
                iprot.DecrementRecursionDepth();
            }
        }