gt:         if (other.isSetComment()) {
context: /*
   *
   *  Copyright 2018 FJN Corp.
   *
   *  Licensed under the Apache License, Version 2.0 (the "License");
   *  you may not use this file except in compliance with the License.
   *  You may obtain a copy of the License at
   *
   *       http://www.apache.org/licenses/LICENSE-2.0
   *
   *  Unless required by applicable law or agreed to in writing, software
   *  distributed under the License is distributed on an "AS IS" BASIS,
   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   *  See the License for the specific language governing permissions and
   *  limitations under the License.
   *
   *  Author                        Date                       Issue
   *  fs1194361820@163.com          2015-01-01                 Initial Version
   *
   */
  
  /**
   * Autogenerated by Thrift Compiler (0.9.3)
   *
   * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
   *  @generated
   */
  package com.fjn.helper.frameworkex.apache.thrift.tutorial;
  
  import org.apache.thrift.scheme.IScheme;
  import org.apache.thrift.scheme.SchemeFactory;
  import org.apache.thrift.scheme.StandardScheme;
  
  import org.apache.thrift.scheme.TupleScheme;
  import org.apache.thrift.protocol.TTupleProtocol;
  import org.apache.thrift.protocol.TProtocolException;
  import org.apache.thrift.EncodingUtils;
  import org.apache.thrift.Option;
  import org.apache.thrift.TException;
  import org.apache.thrift.async.AsyncMethodCallback;
  import org.apache.thrift.server.AbstractNonblockingServer.*;
  import java.util.List;
  import java.util.ArrayList;
  import java.util.Map;
  import java.util.HashMap;
  import java.util.EnumMap;
  import java.util.Set;
  import java.util.HashSet;
  import java.util.EnumSet;
  import java.util.Collections;
  import java.util.BitSet;
  import java.nio.ByteBuffer;
  import java.util.Arrays;
  import javax.annotation.Generated;
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  
  @SuppressWarnings({ "cast", "rawtypes", "serial", "unchecked" ,"unused"})
  /**
   * Structs are the basic complex data structures. They are comprised of fields
   * which each have an integer identifier, a type, a symbolic name, and an
   * optional default value.
   *
   * Fields can be declared "optional", which ensures they will not be included
   * in the serialized output if they aren't set.  Note that this requires some
   * manual management in some languages.
   */
  @Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-23")
  public class Work implements org.apache.thrift.TBase<Work, Work._Fields>,
          java.io.Serializable, Cloneable, Comparable<Work> {
      private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct(
              "Work");
  
      private static final org.apache.thrift.protocol.TField NUM1_FIELD_DESC = new org.apache.thrift.protocol.TField(
              "num1", org.apache.thrift.protocol.TType.I32, (short) 1);
      private static final org.apache.thrift.protocol.TField NUM2_FIELD_DESC = new org.apache.thrift.protocol.TField(
              "num2", org.apache.thrift.protocol.TType.I32, (short) 2);
      private static final org.apache.thrift.protocol.TField OP_FIELD_DESC = new org.apache.thrift.protocol.TField(
              "op", org.apache.thrift.protocol.TType.I32, (short) 3);
      private static final org.apache.thrift.protocol.TField COMMENT_FIELD_DESC = new org.apache.thrift.protocol.TField(
              "comment", org.apache.thrift.protocol.TType.STRING, (short) 4);
  
      private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
  
      static {
          schemes.put(StandardScheme.class, new WorkStandardSchemeFactory());
          schemes.put(TupleScheme.class, new WorkTupleSchemeFactory());
      }
  
      private int num1; // required
      private int num2; // required
      private Operation op; // required
      private String comment; // optional
  
      /**
       * The set of fields this struct contains, along with convenience methods
       * for finding and manipulating them.
       */
      public enum _Fields implements org.apache.thrift.TFieldIdEnum {
          NUM1((short) 1, "num1"), NUM2((short) 2, "num2"),
          /**
           *
           * @see Operation
           */
          OP((short) 3, "op"), COMMENT((short) 4, "comment");
  
          private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
          static {
              for (_Fields field : EnumSet.allOf(_Fields.class)) {
                  byName.put(field.getFieldName(), field);
              }
          }
  
          /**
           * Find the _Fields constant that matches fieldId, or null if its not
           * found.
           */
          public static _Fields findByThriftId(int fieldId) {
              switch (fieldId) {
                  case 1: // NUM1
                      return NUM1;
                  case 2: // NUM2
                      return NUM2;
                  case 3: // OP
                      return OP;
                  case 4: // COMMENT
                      return COMMENT;
                  default:
                      return null;
              }
          }
  
          /**
           * Find the _Fields constant that matches fieldId, throwing an exception
           * if it is not found.
           */
          public static _Fields findByThriftIdOrThrow(int fieldId) {
              _Fields fields = findByThriftId(fieldId);
              if (fields == null)
                  throw new IllegalArgumentException("Field " + fieldId
                          + " doesn't exist!");
              return fields;
          }
  
          /**
           * Find the _Fields constant that matches name, or null if its not
           * found.
           */
          public static _Fields findByName(String name) {
              return byName.get(name);
          }
  
          private final short _thriftId;
          private final String _fieldName;
  
          _Fields(short thriftId, String fieldName) {
              _thriftId = thriftId;
              _fieldName = fieldName;
          }
  
          public short getThriftFieldId() {
              return _thriftId;
          }
  
          public String getFieldName() {
              return _fieldName;
          }
      }
  
      // isset id assignments
      private static final int __NUM1_ISSET_ID = 0;
      private static final int __NUM2_ISSET_ID = 1;
      private byte __isset_bitfield = 0;
      private static final _Fields optionals[] = { _Fields.COMMENT };
      public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
  
      static {
          Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(
                  _Fields.class);
          tmpMap.put(_Fields.NUM1, new org.apache.thrift.meta_data.FieldMetaData(
                  "num1", org.apache.thrift.TFieldRequirementType.DEFAULT,
                  new org.apache.thrift.meta_data.FieldValueMetaData(
                          org.apache.thrift.protocol.TType.I32)));
          tmpMap.put(_Fields.NUM2, new org.apache.thrift.meta_data.FieldMetaData(
                  "num2", org.apache.thrift.TFieldRequirementType.DEFAULT,
                  new org.apache.thrift.meta_data.FieldValueMetaData(
                          org.apache.thrift.protocol.TType.I32)));
          tmpMap.put(_Fields.OP,
                  new org.apache.thrift.meta_data.FieldMetaData("op",
                          org.apache.thrift.TFieldRequirementType.DEFAULT,
                          new org.apache.thrift.meta_data.EnumMetaData(
                                  org.apache.thrift.protocol.TType.ENUM,
                                  Operation.class)));
          tmpMap.put(_Fields.COMMENT,
                  new org.apache.thrift.meta_data.FieldMetaData("comment",
                          org.apache.thrift.TFieldRequirementType.OPTIONAL,
                          new org.apache.thrift.meta_data.FieldValueMetaData(
                                  org.apache.thrift.protocol.TType.STRING)));
          metaDataMap = Collections.unmodifiableMap(tmpMap);
          org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(
                  Work.class, metaDataMap);
      }
  
      public Work() {
          this.num1 = 0;
  
      }
  
      public Work(int num1, int num2, Operation op) {
          this();
          this.num1 = num1;
          setNum1IsSet(true);
          this.num2 = num2;
          setNum2IsSet(true);
          this.op = op;
      }
  
      /**
       * Performs a deep copy on <i>other</i>.
       */
      public Work(Work other) {
          __isset_bitfield = other.__isset_bitfield;
          this.num1 = other.num1;
          this.num2 = other.num2;
          if (other.isSetOp()) {
              this.op = other.op;
          }
  