public void read(TProtocol iprot) throws TException {
   TField field;
   iprot.readStructBegin();
   while (true) {
     field = iprot.readFieldBegin();
     if (field.type == TType.STOP) {
       break;
     }
     switch (field.id) {
       case 1: // START_INDEX
         if (field.type == TType.I32) {
           this.startIndex = iprot.readI32();
           setStartIndexIsSet(true);
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       case 2: // TOTAL_NOTES
         if (field.type == TType.I32) {
           this.totalNotes = iprot.readI32();
           setTotalNotesIsSet(true);
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       case 3: // NOTES
         if (field.type == TType.LIST) {
           {
             TList _list48 = iprot.readListBegin();
             this.notes = new ArrayList<com.evernote.edam.type.Note>(_list48.size);
             for (int _i49 = 0; _i49 < _list48.size; ++_i49) {
               com.evernote.edam.type.Note _elem50;
               _elem50 = new com.evernote.edam.type.Note();
               _elem50.read(iprot);
               this.notes.add(_elem50);
             }
             iprot.readListEnd();
           }
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       case 4: // STOPPED_WORDS
         if (field.type == TType.LIST) {
           {
             TList _list51 = iprot.readListBegin();
             this.stoppedWords = new ArrayList<String>(_list51.size);
             for (int _i52 = 0; _i52 < _list51.size; ++_i52) {
               String _elem53;
               _elem53 = iprot.readString();
               this.stoppedWords.add(_elem53);
             }
             iprot.readListEnd();
           }
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       case 5: // SEARCHED_WORDS
         if (field.type == TType.LIST) {
           {
             TList _list54 = iprot.readListBegin();
             this.searchedWords = new ArrayList<String>(_list54.size);
             for (int _i55 = 0; _i55 < _list54.size; ++_i55) {
               String _elem56;
               _elem56 = iprot.readString();
               this.searchedWords.add(_elem56);
             }
             iprot.readListEnd();
           }
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       case 6: // UPDATE_COUNT
         if (field.type == TType.I32) {
           this.updateCount = iprot.readI32();
           setUpdateCountIsSet(true);
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       default:
         TProtocolUtil.skip(iprot, field.type);
     }
     iprot.readFieldEnd();
   }
   iprot.readStructEnd();
   validate();
 }
 public void read(TProtocol iprot) throws TException {
   TField field;
   iprot.readStructBegin();
   while (true) {
     field = iprot.readFieldBegin();
     if (field.type == TType.STOP) {
       break;
     }
     switch (field.id) {
       case 1: // GUID
         if (field.type == TType.STRING) {
           this.guid = iprot.readString();
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       case 2: // NAME
         if (field.type == TType.STRING) {
           this.name = iprot.readString();
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       case 3: // QUERY
         if (field.type == TType.STRING) {
           this.query = iprot.readString();
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       case 4: // FORMAT
         if (field.type == TType.I32) {
           this.format = QueryFormat.findByValue(iprot.readI32());
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       case 5: // UPDATE_SEQUENCE_NUM
         if (field.type == TType.I32) {
           this.updateSequenceNum = iprot.readI32();
           setUpdateSequenceNumIsSet(true);
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       case 6: // SCOPE
         if (field.type == TType.STRUCT) {
           this.scope = new SavedSearchScope();
           this.scope.read(iprot);
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       default:
         TProtocolUtil.skip(iprot, field.type);
     }
     iprot.readFieldEnd();
   }
   iprot.readStructEnd();
   validate();
 }
 public void read(TProtocol iprot) throws TException {
   TField field;
   iprot.readStructBegin();
   while (true) {
     field = iprot.readFieldBegin();
     if (field.type == TType.STOP) {
       break;
     }
     switch (field.id) {
       case 1: // SUBJECT_DATE
         if (field.type == TType.I64) {
           this.subjectDate = iprot.readI64();
           setSubjectDateIsSet(true);
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       case 10: // LATITUDE
         if (field.type == TType.DOUBLE) {
           this.latitude = iprot.readDouble();
           setLatitudeIsSet(true);
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       case 11: // LONGITUDE
         if (field.type == TType.DOUBLE) {
           this.longitude = iprot.readDouble();
           setLongitudeIsSet(true);
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       case 12: // ALTITUDE
         if (field.type == TType.DOUBLE) {
           this.altitude = iprot.readDouble();
           setAltitudeIsSet(true);
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       case 13: // AUTHOR
         if (field.type == TType.STRING) {
           this.author = iprot.readString();
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       case 14: // SOURCE
         if (field.type == TType.STRING) {
           this.source = iprot.readString();
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       case 15: // SOURCE_URL
         if (field.type == TType.STRING) {
           this.sourceURL = iprot.readString();
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       case 16: // SOURCE_APPLICATION
         if (field.type == TType.STRING) {
           this.sourceApplication = iprot.readString();
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       case 17: // SHARE_DATE
         if (field.type == TType.I64) {
           this.shareDate = iprot.readI64();
           setShareDateIsSet(true);
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       case 21: // PLACE_NAME
         if (field.type == TType.STRING) {
           this.placeName = iprot.readString();
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       case 22: // CONTENT_CLASS
         if (field.type == TType.STRING) {
           this.contentClass = iprot.readString();
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       case 23: // APPLICATION_DATA
         if (field.type == TType.STRUCT) {
           this.applicationData = new LazyMap();
           this.applicationData.read(iprot);
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       case 24: // LAST_EDITED_BY
         if (field.type == TType.STRING) {
           this.lastEditedBy = iprot.readString();
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       case 26: // CLASSIFICATIONS
         if (field.type == TType.MAP) {
           {
             TMap _map17 = iprot.readMapBegin();
             this.classifications = new HashMap<String, String>(2 * _map17.size);
             for (int _i18 = 0; _i18 < _map17.size; ++_i18) {
               String _key19;
               String _val20;
               _key19 = iprot.readString();
               _val20 = iprot.readString();
               this.classifications.put(_key19, _val20);
             }
             iprot.readMapEnd();
           }
         } else {
           TProtocolUtil.skip(iprot, field.type);
         }
         break;
       default:
         TProtocolUtil.skip(iprot, field.type);
     }
     iprot.readFieldEnd();
   }
   iprot.readStructEnd();
   validate();
 }