public void Read (TProtocol iprot)
{
TField field;
iprot.ReadStructBegin();
while (true)
{
field = iprot.ReadFieldBegin();
if (field.Type == TType.Stop) {
break;
}
switch (field.ID)
{
case 1:
if (field.Type == TType.Set) {
{
KeysOnly = new THashSet<string>();
TSet _set8 = iprot.ReadSetBegin();
for( int _i9 = 0; _i9 < _set8.Count; ++_i9)
{
string _elem10 = null;
_elem10 = iprot.ReadString();
KeysOnly.Add(_elem10);
}
iprot.ReadSetEnd();
}
} else {
TProtocolUtil.Skip(iprot, field.Type);
}
break;
case 2:
if (field.Type == TType.Map) {
{
FullMap = new Dictionary<string, string>();
TMap _map11 = iprot.ReadMapBegin();
for( int _i12 = 0; _i12 < _map11.Count; ++_i12)
{
string _key13;
string _val14;
_key13 = iprot.ReadString();
_val14 = iprot.ReadString();
FullMap[_key13] = _val14;
}
iprot.ReadMapEnd();
}
} else {
TProtocolUtil.Skip(iprot, field.Type);
}
break;
default:
TProtocolUtil.Skip(iprot, field.Type);
break;
}
iprot.ReadFieldEnd();
}
iprot.ReadStructEnd();
}