content: /**
   * Autogenerated by Thrift Compiler (0.9.2)
   *
   * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
   *  @generated
   */
  package edu.berkeley.cs.amplab.carat.thrift;
  
  import android.annotation.SuppressLint;
  import java.util.ArrayList;
  import java.util.BitSet;
  import java.util.Collections;
  import java.util.EnumMap;
  import java.util.EnumSet;
  import java.util.HashMap;
  import java.util.List;
  import java.util.Map;
  import javax.annotation.Generated;
  import org.apache.thrift.EncodingUtils;
  import org.apache.thrift.protocol.TTupleProtocol;
  import org.apache.thrift.scheme.IScheme;
  import org.apache.thrift.scheme.SchemeFactory;
  import org.apache.thrift.scheme.StandardScheme;
  import org.apache.thrift.scheme.TupleScheme;
  
  @SuppressLint("NewApi")
  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
  @Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2014-12-19")
  public class HogsBugs implements org.apache.thrift.TBase<HogsBugs, HogsBugs._Fields>, java.io.Serializable, Cloneable, Comparable<HogsBugs> {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("HogsBugs");
  
    private static final org.apache.thrift.protocol.TField APP_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("appName", org.apache.thrift.protocol.TType.STRING, (short)1);
    private static final org.apache.thrift.protocol.TField W_DISTANCE_FIELD_DESC = new org.apache.thrift.protocol.TField("wDistance", org.apache.thrift.protocol.TType.DOUBLE, (short)2);
    private static final org.apache.thrift.protocol.TField X_VALS_FIELD_DESC = new org.apache.thrift.protocol.TField("xVals", org.apache.thrift.protocol.TType.LIST, (short)3);
    private static final org.apache.thrift.protocol.TField Y_VALS_FIELD_DESC = new org.apache.thrift.protocol.TField("yVals", org.apache.thrift.protocol.TType.LIST, (short)4);
    private static final org.apache.thrift.protocol.TField X_VALS_WITHOUT_FIELD_DESC = new org.apache.thrift.protocol.TField("xValsWithout", org.apache.thrift.protocol.TType.LIST, (short)5);
    private static final org.apache.thrift.protocol.TField Y_VALS_WITHOUT_FIELD_DESC = new org.apache.thrift.protocol.TField("yValsWithout", org.apache.thrift.protocol.TType.LIST, (short)6);
    private static final org.apache.thrift.protocol.TField EXPECTED_VALUE_FIELD_DESC = new org.apache.thrift.protocol.TField("expectedValue", org.apache.thrift.protocol.TType.DOUBLE, (short)7);
    private static final org.apache.thrift.protocol.TField EXPECTED_VALUE_WITHOUT_FIELD_DESC = new org.apache.thrift.protocol.TField("expectedValueWithout", org.apache.thrift.protocol.TType.DOUBLE, (short)8);
    private static final org.apache.thrift.protocol.TField ERROR_FIELD_DESC = new org.apache.thrift.protocol.TField("error", org.apache.thrift.protocol.TType.DOUBLE, (short)9);
    private static final org.apache.thrift.protocol.TField ERROR_WITHOUT_FIELD_DESC = new org.apache.thrift.protocol.TField("errorWithout", org.apache.thrift.protocol.TType.DOUBLE, (short)10);
    private static final org.apache.thrift.protocol.TField SAMPLES_FIELD_DESC = new org.apache.thrift.protocol.TField("samples", org.apache.thrift.protocol.TType.DOUBLE, (short)11);
    private static final org.apache.thrift.protocol.TField SAMPLES_WITHOUT_FIELD_DESC = new org.apache.thrift.protocol.TField("samplesWithout", org.apache.thrift.protocol.TType.DOUBLE, (short)12);
    private static final org.apache.thrift.protocol.TField APP_LABEL_FIELD_DESC = new org.apache.thrift.protocol.TField("appLabel", org.apache.thrift.protocol.TType.STRING, (short)13);
    private static final org.apache.thrift.protocol.TField APP_PRIORITY_FIELD_DESC = new org.apache.thrift.protocol.TField("appPriority", org.apache.thrift.protocol.TType.STRING, (short)14);
  
    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
      schemes.put(StandardScheme.class, new HogsBugsStandardSchemeFactory());
      schemes.put(TupleScheme.class, new HogsBugsTupleSchemeFactory());
    }
  
    public String appName; // optional
    public double wDistance; // optional
    public List<Double> xVals; // optional
    public List<Double> yVals; // optional
    public List<Double> xValsWithout; // optional
    public List<Double> yValsWithout; // optional
    public double expectedValue; // optional
    public double expectedValueWithout; // optional
    public double error; // optional
    public double errorWithout; // optional
    public double samples; // optional
    public double samplesWithout; // optional
    public String appLabel; // optional
    public String appPriority; // 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 {
      APP_NAME((short)1, "appName"),
      W_DISTANCE((short)2, "wDistance"),
      X_VALS((short)3, "xVals"),
      Y_VALS((short)4, "yVals"),
      X_VALS_WITHOUT((short)5, "xValsWithout"),
      Y_VALS_WITHOUT((short)6, "yValsWithout"),
      EXPECTED_VALUE((short)7, "expectedValue"),
      EXPECTED_VALUE_WITHOUT((short)8, "expectedValueWithout"),
      ERROR((short)9, "error"),
      ERROR_WITHOUT((short)10, "errorWithout"),
      SAMPLES((short)11, "samples"),
      SAMPLES_WITHOUT((short)12, "samplesWithout"),
      APP_LABEL((short)13, "appLabel"),
      APP_PRIORITY((short)14, "appPriority");
  
      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: // APP_NAME
            return APP_NAME;
          case 2: // W_DISTANCE
            return W_DISTANCE;
          case 3: // X_VALS
            return X_VALS;
          case 4: // Y_VALS
            return Y_VALS;
          case 5: // X_VALS_WITHOUT
            return X_VALS_WITHOUT;
          case 6: // Y_VALS_WITHOUT
            return Y_VALS_WITHOUT;
          case 7: // EXPECTED_VALUE
            return EXPECTED_VALUE;
          case 8: // EXPECTED_VALUE_WITHOUT
            return EXPECTED_VALUE_WITHOUT;
          case 9: // ERROR
            return ERROR;
          case 10: // ERROR_WITHOUT
            return ERROR_WITHOUT;
          case 11: // SAMPLES
            return SAMPLES;
          case 12: // SAMPLES_WITHOUT
            return SAMPLES_WITHOUT;
          case 13: // APP_LABEL
            return APP_LABEL;
          case 14: // APP_PRIORITY
            return APP_PRIORITY;
          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 __WDISTANCE_ISSET_ID = 0;
    private static final int __EXPECTEDVALUE_ISSET_ID = 1;
    private static final int __EXPECTEDVALUEWITHOUT_ISSET_ID = 2;
    private static final int __ERROR_ISSET_ID = 3;
    private static final int __ERRORWITHOUT_ISSET_ID = 4;
    private static final int __SAMPLES_ISSET_ID = 5;
    private static final int __SAMPLESWITHOUT_ISSET_ID = 6;
    private byte __isset_bitfield = 0;
    private static final _Fields optionals[] = {_Fields.APP_NAME,_Fields.W_DISTANCE,_Fields.X_VALS,_Fields.Y_VALS,_Fields.X_VALS_WITHOUT,_Fields.Y_VALS_WITHOUT,_Fields.EXPECTED_VALUE,_Fields.EXPECTED_VALUE_WITHOUT,_Fields.ERROR,_Fields.ERROR_WITHOUT,_Fields.SAMPLES,_Fields.SAMPLES_WITHOUT,_Fields.APP_LABEL,_Fields.APP_PRIORITY};
    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.APP_NAME, new org.apache.thrift.meta_data.FieldMetaData("appName", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.W_DISTANCE, new org.apache.thrift.meta_data.FieldMetaData("wDistance", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
      tmpMap.put(_Fields.X_VALS, new org.apache.thrift.meta_data.FieldMetaData("xVals", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE))));
      tmpMap.put(_Fields.Y_VALS, new org.apache.thrift.meta_data.FieldMetaData("yVals", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE))));
      tmpMap.put(_Fields.X_VALS_WITHOUT, new org.apache.thrift.meta_data.FieldMetaData("xValsWithout", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE))));
      tmpMap.put(_Fields.Y_VALS_WITHOUT, new org.apache.thrift.meta_data.FieldMetaData("yValsWithout", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE))));
      tmpMap.put(_Fields.EXPECTED_VALUE, new org.apache.thrift.meta_data.FieldMetaData("expectedValue", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
      tmpMap.put(_Fields.EXPECTED_VALUE_WITHOUT, new org.apache.thrift.meta_data.FieldMetaData("expectedValueWithout", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
      tmpMap.put(_Fields.ERROR, new org.apache.thrift.meta_data.FieldMetaData("error", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
      tmpMap.put(_Fields.ERROR_WITHOUT, new org.apache.thrift.meta_data.FieldMetaData("errorWithout", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
      tmpMap.put(_Fields.SAMPLES, new org.apache.thrift.meta_data.FieldMetaData("samples", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
      tmpMap.put(_Fields.SAMPLES_WITHOUT, new org.apache.thrift.meta_data.FieldMetaData("samplesWithout", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
      tmpMap.put(_Fields.APP_LABEL, new org.apache.thrift.meta_data.FieldMetaData("appLabel", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
      tmpMap.put(_Fields.APP_PRIORITY, new org.apache.thrift.meta_data.FieldMetaData("appPriority", 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(HogsBugs.class, metaDataMap);
    }
  
    public HogsBugs() {
    }
  
    /**
     * Performs a deep copy on <i>other</i>.
     */
    public HogsBugs(HogsBugs other) {
      __isset_bitfield = other.__isset_bitfield;
      if (other.isSetAppName()) {
        this.appName = other.appName;
      }
      this.wDistance = other.wDistance;
      if (other.isSetXVals()) {
        List<Double> __this__xVals = new ArrayList<Double>(other.xVals);
        this.xVals = __this__xVals;
      }
      if (other.isSetYVals()) {
        List<Double> __this__yVals = new ArrayList<Double>(other.yVals);
        this.yVals = __this__yVals;
      }
      if (other.isSetXValsWithout()) {
        List<Double> __this__xValsWithout = new ArrayList<Double>(other.xValsWithout);
        this.xValsWithout = __this__xValsWithout;
      }
      if (other.isSetYValsWithout()) {
        List<Double> __this__yValsWithout = new ArrayList<Double>(other.yValsWithout);
        this.yValsWithout = __this__yValsWithout;
      }
      this.expectedValue = other.expectedValue;
      this.expectedValueWithout = other.expectedValueWithout;
      this.error = other.error;
      this.errorWithout = other.errorWithout;
      this.samples = other.samples;
      this.samplesWithout = other.samplesWithout;
      if (other.isSetAppLabel()) {
        this.appLabel = other.appLabel;
      }
      if (other.isSetAppPriority()) {
        this.appPriority = other.appPriority;
      }
    }
  
    public HogsBugs deepCopy() {
      return new HogsBugs(this);
    }
  
    @Override
    public void clear() {
      this.appName = null;
      setWDistanceIsSet(false);
      this.wDistance = 0.0;
      this.xVals = null;
      this.yVals = null;
      this.xValsWithout = null;
      this.yValsWithout = null;
      setExpectedValueIsSet(false);
      this.expectedValue = 0.0;
      setExpectedValueWithoutIsSet(false);
      this.expectedValueWithout = 0.0;
      setErrorIsSet(false);
      this.error = 0.0;
      setErrorWithoutIsSet(false);
      this.errorWithout = 0.0;
      setSamplesIsSet(false);
      this.samples = 0.0;
      setSamplesWithoutIsSet(false);
      this.samplesWithout = 0.0;
      this.appLabel = null;
      this.appPriority = null;
    }
  
    public String getAppName() {
      return this.appName;
    }
  
    public HogsBugs setAppName(String appName) {
      this.appName = appName;
      return this;
    }
  
    public void unsetAppName() {
      this.appName = null;
    }
  
    /** Returns true if field appName is set (has been assigned a value) and false otherwise */
    public boolean isSetAppName() {
      return this.appName != null;
    }
  
    public void setAppNameIsSet(boolean value) {
      if (!value) {
        this.appName = null;
      }
    }
  
    public double getWDistance() {
      return this.wDistance;
    }
  
    public HogsBugs setWDistance(double wDistance) {
      this.wDistance = wDistance;
      setWDistanceIsSet(true);
      return this;
    }
  
    public void unsetWDistance() {
      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __WDISTANCE_ISSET_ID);
    }
  
    /** Returns true if field wDistance is set (has been assigned a value) and false otherwise */
    public boolean isSetWDistance() {
      return EncodingUtils.testBit(__isset_bitfield, __WDISTANCE_ISSET_ID);
    }
  
    public void setWDistanceIsSet(boolean value) {
      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __WDISTANCE_ISSET_ID, value);
    }
  
    public int getXValsSize() {
      return (this.xVals == null) ? 0 : this.xVals.size();
    }
  
    public java.util.Iterator<Double> getXValsIterator() {
      return (this.xVals == null) ? null : this.xVals.iterator();
    }
  
    public void addToXVals(double elem) {
      if (this.xVals == null) {
        this.xVals = new ArrayList<Double>();
      }
      this.xVals.add(elem);
    }
  
    public List<Double> getXVals() {
      return this.xVals;
    }
  
    public HogsBugs setXVals(List<Double> xVals) {
      this.xVals = xVals;
      return this;
    }
  
    public void unsetXVals() {
      this.xVals = null;
    }
  
    /** Returns true if field xVals is set (has been assigned a value) and false otherwise */
    public boolean isSetXVals() {
      return this.xVals != null;
    }
  
    public void setXValsIsSet(boolean value) {
      if (!value) {
        this.xVals = null;
      }
    }
  
    public int getYValsSize() {
      return (this.yVals == null) ? 0 : this.yVals.size();
    }
  
    public java.util.Iterator<Double> getYValsIterator() {
      return (this.yVals == null) ? null : this.yVals.iterator();
    }
  
    public void addToYVals(double elem) {
      if (this.yVals == null) {
        this.yVals = new ArrayList<Double>();
      }
      this.yVals.add(elem);
    }
  
    public List<Double> getYVals() {
      return this.yVals;
    }
  
    public HogsBugs setYVals(List<Double> yVals) {
      this.yVals = yVals;
      return this;
    }
  
    public void unsetYVals() {
      this.yVals = null;
    }
  
    /** Returns true if field yVals is set (has been assigned a value) and false otherwise */
    public boolean isSetYVals() {
      return this.yVals != null;
    }
  
    public void setYValsIsSet(boolean value) {
      if (!value) {
        this.yVals = null;
      }
    }
  
    public int getXValsWithoutSize() {
      return (this.xValsWithout == null) ? 0 : this.xValsWithout.size();
    }
  
    public java.util.Iterator<Double> getXValsWithoutIterator() {
      return (this.xValsWithout == null) ? null : this.xValsWithout.iterator();
    }
  
    public void addToXValsWithout(double elem) {
      if (this.xValsWithout == null) {
        this.xValsWithout = new ArrayList<Double>();
      }
      this.xValsWithout.add(elem);
    }
  
    public List<Double> getXValsWithout() {
      return this.xValsWithout;
    }
  
    public HogsBugs setXValsWithout(List<Double> xValsWithout) {
      this.xValsWithout = xValsWithout;
      return this;
    }
  
    public void unsetXValsWithout() {
      this.xValsWithout = null;
    }
  
    /** Returns true if field xValsWithout is set (has been assigned a value) and false otherwise */
    public boolean isSetXValsWithout() {
      return this.xValsWithout != null;
    }
  
    public void setXValsWithoutIsSet(boolean value) {
      if (!value) {
        this.xValsWithout = null;
      }
    }
  
    public int getYValsWithoutSize() {
      return (this.yValsWithout == null) ? 0 : this.yValsWithout.size();
    }
  
    public java.util.Iterator<Double> getYValsWithoutIterator() {
      return (this.yValsWithout == null) ? null : this.yValsWithout.iterator();
    }
  
    public void addToYValsWithout(double elem) {
      if (this.yValsWithout == null) {
        this.yValsWithout = new ArrayList<Double>();
      }
      this.yValsWithout.add(elem);
    }
  
    public List<Double> getYValsWithout() {
      return this.yValsWithout;
    }
  
    public HogsBugs setYValsWithout(List<Double> yValsWithout) {
      this.yValsWithout = yValsWithout;
      return this;
    }
  
    public void unsetYValsWithout() {
      this.yValsWithout = null;
    }
  
    /** Returns true if field yValsWithout is set (has been assigned a value) and false otherwise */
    public boolean isSetYValsWithout() {
      return this.yValsWithout != null;
    }
  
    public void setYValsWithoutIsSet(boolean value) {
      if (!value) {
        this.yValsWithout = null;
      }
    }
  
    public double getExpectedValue() {
      return this.expectedValue;
    }
  
    public HogsBugs setExpectedValue(double expectedValue) {
      this.expectedValue = expectedValue;
      setExpectedValueIsSet(true);
      return this;
    }
  
    public void unsetExpectedValue() {
      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __EXPECTEDVALUE_ISSET_ID);
    }
  
    /** Returns true if field expectedValue is set (has been assigned a value) and false otherwise */
    public boolean isSetExpectedValue() {
      return EncodingUtils.testBit(__isset_bitfield, __EXPECTEDVALUE_ISSET_ID);
    }
  
    public void setExpectedValueIsSet(boolean value) {
      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __EXPECTEDVALUE_ISSET_ID, value);
    }
  
    public double getExpectedValueWithout() {
      return this.expectedValueWithout;
    }
  
    public HogsBugs setExpectedValueWithout(double expectedValueWithout) {
      this.expectedValueWithout = expectedValueWithout;
      setExpectedValueWithoutIsSet(true);
      return this;
    }
  
    public void unsetExpectedValueWithout() {
      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __EXPECTEDVALUEWITHOUT_ISSET_ID);
    }
  
    /** Returns true if field expectedValueWithout is set (has been assigned a value) and false otherwise */
    public boolean isSetExpectedValueWithout() {
      return EncodingUtils.testBit(__isset_bitfield, __EXPECTEDVALUEWITHOUT_ISSET_ID);
    }
  
    public void setExpectedValueWithoutIsSet(boolean value) {
      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __EXPECTEDVALUEWITHOUT_ISSET_ID, value);
    }
  
    public double getError() {
      return this.error;
    }
  
    public HogsBugs setError(double error) {
      this.error = error;
      setErrorIsSet(true);
      return this;
    }
  
    public void unsetError() {
      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ERROR_ISSET_ID);
    }
  
    /** Returns true if field error is set (has been assigned a value) and false otherwise */
    public boolean isSetError() {
      return EncodingUtils.testBit(__isset_bitfield, __ERROR_ISSET_ID);
    }
  
    public void setErrorIsSet(boolean value) {
      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ERROR_ISSET_ID, value);
    }
  
    public double getErrorWithout() {
      return this.errorWithout;
    }
  
    public HogsBugs setErrorWithout(double errorWithout) {
      this.errorWithout = errorWithout;
      setErrorWithoutIsSet(true);
      return this;
    }
  
    public void unsetErrorWithout() {
      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ERRORWITHOUT_ISSET_ID);
    }
  
    /** Returns true if field errorWithout is set (has been assigned a value) and false otherwise */
    public boolean isSetErrorWithout() {
      return EncodingUtils.testBit(__isset_bitfield, __ERRORWITHOUT_ISSET_ID);
    }
  
    public void setErrorWithoutIsSet(boolean value) {
      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ERRORWITHOUT_ISSET_ID, value);
    }
  
    public double getSamples() {
      return this.samples;
    }
  
    public HogsBugs setSamples(double samples) {
      this.samples = samples;
      setSamplesIsSet(true);
      return this;
    }
  
    public void unsetSamples() {
      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SAMPLES_ISSET_ID);
    }
  
    /** Returns true if field samples is set (has been assigned a value) and false otherwise */
    public boolean isSetSamples() {
      return EncodingUtils.testBit(__isset_bitfield, __SAMPLES_ISSET_ID);
    }
  
    public void setSamplesIsSet(boolean value) {
      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SAMPLES_ISSET_ID, value);
    }
  
    public double getSamplesWithout() {
      return this.samplesWithout;
    }
  
    public HogsBugs setSamplesWithout(double samplesWithout) {
      this.samplesWithout = samplesWithout;
      setSamplesWithoutIsSet(true);
      return this;
    }
  
    public void unsetSamplesWithout() {
      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SAMPLESWITHOUT_ISSET_ID);
    }
  
    /** Returns true if field samplesWithout is set (has been assigned a value) and false otherwise */
    public boolean isSetSamplesWithout() {
      return EncodingUtils.testBit(__isset_bitfield, __SAMPLESWITHOUT_ISSET_ID);
    }
  
    public void setSamplesWithoutIsSet(boolean value) {
      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SAMPLESWITHOUT_ISSET_ID, value);
    }
  
    public String getAppLabel() {
      return this.appLabel;
    }
  
    public HogsBugs setAppLabel(String appLabel) {
      this.appLabel = appLabel;
      return this;
    }
  
    public void unsetAppLabel() {
      this.appLabel = null;
    }
  
    /** Returns true if field appLabel is set (has been assigned a value) and false otherwise */
    public boolean isSetAppLabel() {
      return this.appLabel != null;
    }
  
    public void setAppLabelIsSet(boolean value) {
      if (!value) {
        this.appLabel = null;
      }
    }
  
    public String getAppPriority() {
      return this.appPriority;
    }
  
    public HogsBugs setAppPriority(String appPriority) {
      this.appPriority = appPriority;
      return this;
    }
  
    public void unsetAppPriority() {
      this.appPriority = null;
    }
  
    /** Returns true if field appPriority is set (has been assigned a value) and false otherwise */
    public boolean isSetAppPriority() {
      return this.appPriority != null;
    }
  
    public void setAppPriorityIsSet(boolean value) {
      if (!value) {
        this.appPriority = null;
      }
    }
  
    public void setFieldValue(_Fields field, Object value) {
      switch (field) {
      case APP_NAME:
        if (value == null) {
          unsetAppName();
        } else {
          setAppName((String)value);
        }
        break;
  
      case W_DISTANCE:
        if (value == null) {
          unsetWDistance();
        } else {
          setWDistance((Double)value);
        }
        break;
  
      case X_VALS:
        if (value == null) {
          unsetXVals();
        } else {
          setXVals((List<Double>)value);
        }
        break;
  
      case Y_VALS:
        if (value == null) {
          unsetYVals();
        } else {
          setYVals((List<Double>)value);
        }
        break;
  
      case X_VALS_WITHOUT:
        if (value == null) {
          unsetXValsWithout();
        } else {
          setXValsWithout((List<Double>)value);
        }
        break;
  
      case Y_VALS_WITHOUT:
        if (value == null) {
          unsetYValsWithout();
        } else {
          setYValsWithout((List<Double>)value);
        }
        break;
  
      case EXPECTED_VALUE:
        if (value == null) {
          unsetExpectedValue();
        } else {
          setExpectedValue((Double)value);
        }
        break;
  
      case EXPECTED_VALUE_WITHOUT:
        if (value == null) {
          unsetExpectedValueWithout();
        } else {
          setExpectedValueWithout((Double)value);
        }
        break;
  
      case ERROR:
        if (value == null) {
          unsetError();
        } else {
          setError((Double)value);
        }
        break;
  
      case ERROR_WITHOUT:
        if (value == null) {
          unsetErrorWithout();
        } else {
          setErrorWithout((Double)value);
        }
        break;
  
      case SAMPLES:
        if (value == null) {
          unsetSamples();
        } else {
          setSamples((Double)value);
        }
        break;
  
      case SAMPLES_WITHOUT:
        if (value == null) {
          unsetSamplesWithout();
        } else {
          setSamplesWithout((Double)value);
        }
        break;
  
      case APP_LABEL:
        if (value == null) {
          unsetAppLabel();
        } else {
          setAppLabel((String)value);
        }
        break;
  
      case APP_PRIORITY:
        if (value == null) {
          unsetAppPriority();
        } else {
          setAppPriority((String)value);
        }
        break;
  
      }
    }
  
    public Object getFieldValue(_Fields field) {
      switch (field) {
      case APP_NAME:
        return getAppName();
  
      case W_DISTANCE:
        return Double.valueOf(getWDistance());
  
      case X_VALS:
        return getXVals();
  
      case Y_VALS:
        return getYVals();
  
      case X_VALS_WITHOUT:
        return getXValsWithout();
  
      case Y_VALS_WITHOUT:
        return getYValsWithout();
  
      case EXPECTED_VALUE:
        return Double.valueOf(getExpectedValue());
  
      case EXPECTED_VALUE_WITHOUT:
        return Double.valueOf(getExpectedValueWithout());
  
      case ERROR:
        return Double.valueOf(getError());
  
      case ERROR_WITHOUT:
        return Double.valueOf(getErrorWithout());
  
      case SAMPLES:
        return Double.valueOf(getSamples());
  
      case SAMPLES_WITHOUT:
        return Double.valueOf(getSamplesWithout());
  
      case APP_LABEL:
        return getAppLabel();
  
      case APP_PRIORITY:
        return getAppPriority();
  
      }
      throw new IllegalStateException();
    }
  
    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
    public boolean isSet(_Fields field) {
      if (field == null) {
        throw new IllegalArgumentException();
      }
  
      switch (field) {
      case APP_NAME:
        return isSetAppName();
      case W_DISTANCE:
        return isSetWDistance();
      case X_VALS:
        return isSetXVals();
      case Y_VALS:
        return isSetYVals();
      case X_VALS_WITHOUT:
        return isSetXValsWithout();
      case Y_VALS_WITHOUT:
        return isSetYValsWithout();
      case EXPECTED_VALUE:
        return isSetExpectedValue();
      case EXPECTED_VALUE_WITHOUT:
        return isSetExpectedValueWithout();
      case ERROR:
        return isSetError();
      case ERROR_WITHOUT:
        return isSetErrorWithout();
      case SAMPLES:
        return isSetSamples();
      case SAMPLES_WITHOUT:
        return isSetSamplesWithout();
      case APP_LABEL:
        return isSetAppLabel();
      case APP_PRIORITY:
        return isSetAppPriority();
      }
      throw new IllegalStateException();
    }
  
    @Override
    public boolean equals(Object that) {
      if (that == null)
        return false;
      if (that instanceof HogsBugs)
        return this.equals((HogsBugs)that);
      return false;
    }
  
    public boolean equals(HogsBugs that) {
      if (that == null)
        return false;
  
      boolean this_present_appName = true && this.isSetAppName();
      boolean that_present_appName = true && that.isSetAppName();
      if (this_present_appName || that_present_appName) {
        if (!(this_present_appName && that_present_appName))
          return false;
        if (!this.appName.equals(that.appName))
          return false;
      }
  
      boolean this_present_wDistance = true && this.isSetWDistance();
      boolean that_present_wDistance = true && that.isSetWDistance();
      if (this_present_wDistance || that_present_wDistance) {
        if (!(this_present_wDistance && that_present_wDistance))
          return false;
        if (this.wDistance != that.wDistance)
          return false;
      }
  
      boolean this_present_xVals = true && this.isSetXVals();
      boolean that_present_xVals = true && that.isSetXVals();
      if (this_present_xVals || that_present_xVals) {
        if (!(this_present_xVals && that_present_xVals))
          return false;
        if (!this.xVals.equals(that.xVals))
          return false;
      }
  
      boolean this_present_yVals = true && this.isSetYVals();
      boolean that_present_yVals = true && that.isSetYVals();
      if (this_present_yVals || that_present_yVals) {
        if (!(this_present_yVals && that_present_yVals))
          return false;
        if (!this.yVals.equals(that.yVals))
          return false;
      }
  
      boolean this_present_xValsWithout = true && this.isSetXValsWithout();
      boolean that_present_xValsWithout = true && that.isSetXValsWithout();
      if (this_present_xValsWithout || that_present_xValsWithout) {
        if (!(this_present_xValsWithout && that_present_xValsWithout))
          return false;
        if (!this.xValsWithout.equals(that.xValsWithout))
          return false;
      }
  
      boolean this_present_yValsWithout = true && this.isSetYValsWithout();
      boolean that_present_yValsWithout = true && that.isSetYValsWithout();
      if (this_present_yValsWithout || that_present_yValsWithout) {
        if (!(this_present_yValsWithout && that_present_yValsWithout))
          return false;
        if (!this.yValsWithout.equals(that.yValsWithout))
          return false;
      }
  
      boolean this_present_expectedValue = true && this.isSetExpectedValue();
      boolean that_present_expectedValue = true && that.isSetExpectedValue();
      if (this_present_expectedValue || that_present_expectedValue) {
        if (!(this_present_expectedValue && that_present_expectedValue))
          return false;
        if (this.expectedValue != that.expectedValue)
          return false;
      }
  
      boolean this_present_expectedValueWithout = true && this.isSetExpectedValueWithout();
      boolean that_present_expectedValueWithout = true && that.isSetExpectedValueWithout();
      if (this_present_expectedValueWithout || that_present_expectedValueWithout) {
        if (!(this_present_expectedValueWithout && that_present_expectedValueWithout))
          return false;
        if (this.expectedValueWithout != that.expectedValueWithout)
          return false;
      }
  
      boolean this_present_error = true && this.isSetError();
      boolean that_present_error = true && that.isSetError();
      if (this_present_error || that_present_error) {
        if (!(this_present_error && that_present_error))
          return false;
        if (this.error != that.error)
          return false;
      }
  
      boolean this_present_errorWithout = true && this.isSetErrorWithout();
      boolean that_present_errorWithout = true && that.isSetErrorWithout();
      if (this_present_errorWithout || that_present_errorWithout) {
        if (!(this_present_errorWithout && that_present_errorWithout))
          return false;
        if (this.errorWithout != that.errorWithout)
          return false;
      }
  
      boolean this_present_samples = true && this.isSetSamples();
      boolean that_present_samples = true && that.isSetSamples();
      if (this_present_samples || that_present_samples) {
        if (!(this_present_samples && that_present_samples))
          return false;
        if (this.samples != that.samples)
          return false;
      }
  
      boolean this_present_samplesWithout = true && this.isSetSamplesWithout();
      boolean that_present_samplesWithout = true && that.isSetSamplesWithout();
      if (this_present_samplesWithout || that_present_samplesWithout) {
        if (!(this_present_samplesWithout && that_present_samplesWithout))
          return false;
        if (this.samplesWithout != that.samplesWithout)
          return false;
      }
  
      boolean this_present_appLabel = true && this.isSetAppLabel();
      boolean that_present_appLabel = true && that.isSetAppLabel();
      if (this_present_appLabel || that_present_appLabel) {
        if (!(this_present_appLabel && that_present_appLabel))
          return false;
        if (!this.appLabel.equals(that.appLabel))
          return false;
      }
  
      boolean this_present_appPriority = true && this.isSetAppPriority();
      boolean that_present_appPriority = true && that.isSetAppPriority();
      if (this_present_appPriority || that_present_appPriority) {
        if (!(this_present_appPriority && that_present_appPriority))
          return false;
        if (!this.appPriority.equals(that.appPriority))
          return false;
      }
  
      return true;
    }
  
    @Override
    public int hashCode() {
      List<Object> list = new ArrayList<Object>();
  
      boolean present_appName = true && (isSetAppName());
      list.add(present_appName);
      if (present_appName)
        list.add(appName);
  
      boolean present_wDistance = true && (isSetWDistance());
      list.add(present_wDistance);
      if (present_wDistance)
        list.add(wDistance);
  
      boolean present_xVals = true && (isSetXVals());
      list.add(present_xVals);
      if (present_xVals)
        list.add(xVals);
  
      boolean present_yVals = true && (isSetYVals());
      list.add(present_yVals);
      if (present_yVals)
        list.add(yVals);
  
      boolean present_xValsWithout = true && (isSetXValsWithout());
      list.add(present_xValsWithout);
      if (present_xValsWithout)
        list.add(xValsWithout);
  
      boolean present_yValsWithout = true && (isSetYValsWithout());
      list.add(present_yValsWithout);
      if (present_yValsWithout)
        list.add(yValsWithout);
  
      boolean present_expectedValue = true && (isSetExpectedValue());
      list.add(present_expectedValue);
      if (present_expectedValue)
        list.add(expectedValue);
  
      boolean present_expectedValueWithout = true && (isSetExpectedValueWithout());
      list.add(present_expectedValueWithout);
      if (present_expectedValueWithout)
        list.add(expectedValueWithout);
  
      boolean present_error = true && (isSetError());
      list.add(present_error);
      if (present_error)
        list.add(error);
  
      boolean present_errorWithout = true && (isSetErrorWithout());
      list.add(present_errorWithout);
      if (present_errorWithout)
        list.add(errorWithout);
  
      boolean present_samples = true && (isSetSamples());
      list.add(present_samples);
      if (present_samples)
        list.add(samples);
  
      boolean present_samplesWithout = true && (isSetSamplesWithout());
      list.add(present_samplesWithout);
      if (present_samplesWithout)
        list.add(samplesWithout);
  
      boolean present_appLabel = true && (isSetAppLabel());
      list.add(present_appLabel);
      if (present_appLabel)
        list.add(appLabel);
  
      boolean present_appPriority = true && (isSetAppPriority());
      list.add(present_appPriority);
      if (present_appPriority)
        list.add(appPriority);
  
      return list.hashCode();
    }
  
    @Override
    public int compareTo(HogsBugs other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }
  
      int lastComparison = 0;
  
      lastComparison = Boolean.valueOf(isSetAppName()).compareTo(other.isSetAppName());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAppName()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.appName, other.appName);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetWDistance()).compareTo(other.isSetWDistance());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetWDistance()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.wDistance, other.wDistance);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetXVals()).compareTo(other.isSetXVals());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetXVals()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.xVals, other.xVals);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetYVals()).compareTo(other.isSetYVals());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetYVals()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.yVals, other.yVals);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetXValsWithout()).compareTo(other.isSetXValsWithout());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetXValsWithout()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.xValsWithout, other.xValsWithout);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetYValsWithout()).compareTo(other.isSetYValsWithout());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetYValsWithout()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.yValsWithout, other.yValsWithout);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetExpectedValue()).compareTo(other.isSetExpectedValue());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetExpectedValue()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.expectedValue, other.expectedValue);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetExpectedValueWithout()).compareTo(other.isSetExpectedValueWithout());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetExpectedValueWithout()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.expectedValueWithout, other.expectedValueWithout);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetError()).compareTo(other.isSetError());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetError()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.error, other.error);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetErrorWithout()).compareTo(other.isSetErrorWithout());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetErrorWithout()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.errorWithout, other.errorWithout);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSamples()).compareTo(other.isSetSamples());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSamples()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.samples, other.samples);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetSamplesWithout()).compareTo(other.isSetSamplesWithout());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetSamplesWithout()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.samplesWithout, other.samplesWithout);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetAppLabel()).compareTo(other.isSetAppLabel());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAppLabel()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.appLabel, other.appLabel);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetAppPriority()).compareTo(other.isSetAppPriority());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetAppPriority()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.appPriority, other.appPriority);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }
  
    public _Fields fieldForId(int fieldId) {
      return _Fields.findByThriftId(fieldId);
    }
  
    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
    }
  
    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
    }
  
    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder("HogsBugs(");
      boolean first = true;
  
      if (isSetAppName()) {
        sb.append("appName:");
        if (this.appName == null) {
          sb.append("null");
        } else {
          sb.append(this.appName);
        }
        first = false;
      }
      if (isSetWDistance()) {
        if (!first) sb.append(", ");
        sb.append("wDistance:");
        sb.append(this.wDistance);
        first = false;
      }
      if (isSetXVals()) {
        if (!first) sb.append(", ");
        sb.append("xVals:");
        if (this.xVals == null) {
          sb.append("null");
        } else {
          sb.append(this.xVals);
        }
        first = false;
      }
      if (isSetYVals()) {
        if (!first) sb.append(", ");
        sb.append("yVals:");
        if (this.yVals == null) {
          sb.append("null");
        } else {
          sb.append(this.yVals);
        }
        first = false;
      }
      if (isSetXValsWithout()) {
        if (!first) sb.append(", ");
        sb.append("xValsWithout:");
        if (this.xValsWithout == null) {
          sb.append("null");
        } else {
          sb.append(this.xValsWithout);
        }
        first = false;
      }
      if (isSetYValsWithout()) {
        if (!first) sb.append(", ");
        sb.append("yValsWithout:");
        if (this.yValsWithout == null) {
          sb.append("null");
        } else {
          sb.append(this.yValsWithout);
        }
        first = false;
      }
      if (isSetExpectedValue()) {
        if (!first) sb.append(", ");
        sb.append("expectedValue:");
        sb.append(this.expectedValue);
        first = false;
      }
      if (isSetExpectedValueWithout()) {
        if (!first) sb.append(", ");
        sb.append("expectedValueWithout:");
        sb.append(this.expectedValueWithout);
        first = false;
      }
      if (isSetError()) {
        if (!first) sb.append(", ");
        sb.append("error:");
        sb.append(this.error);
        first = false;
      }
      if (isSetErrorWithout()) {
        if (!first) sb.append(", ");
        sb.append("errorWithout:");
        sb.append(this.errorWithout);
        first = false;
      }
      if (isSetSamples()) {
        if (!first) sb.append(", ");
        sb.append("samples:");
        sb.append(this.samples);
        first = false;
      }
      if (isSetSamplesWithout()) {
        if (!first) sb.append(", ");
        sb.append("samplesWithout:");
        sb.append(this.samplesWithout);
        first = false;
      }
      if (isSetAppLabel()) {
        if (!first) sb.append(", ");
        sb.append("appLabel:");
        if (this.appLabel == null) {
          sb.append("null");
        } else {
          sb.append(this.appLabel);
        }
        first = false;
      }
      if (isSetAppPriority()) {
        if (!first) sb.append(", ");
        sb.append("appPriority:");
        if (this.appPriority == null) {
          sb.append("null");
        } else {
          sb.append(this.appPriority);
        }
        first = false;
      }
      sb.append(")");
      return sb.toString();
    }
  
    public void validate() throws org.apache.thrift.TException {
      // check for required fields
      // check for sub-struct validity
    }
  
    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      try {
        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }
  
    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
      try {
        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
        __isset_bitfield = 0;
        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
      } catch (org.apache.thrift.TException te) {
        throw new java.io.IOException(te);
      }
    }
  
    private static class HogsBugsStandardSchemeFactory implements SchemeFactory {
      public HogsBugsStandardScheme getScheme() {
        return new HogsBugsStandardScheme();
      }
    }
  
    private static class HogsBugsStandardScheme extends StandardScheme<HogsBugs> {
  
      public void read(org.apache.thrift.protocol.TProtocol iprot, HogsBugs struct) throws org.apache.thrift.TException {
        org.apache.thrift.protocol.TField schemeField;
        iprot.readStructBegin();
        while (true)
        {
          schemeField = iprot.readFieldBegin();
          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
            break;
          }
          switch (schemeField.id) {
            case 1: // APP_NAME
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.appName = iprot.readString();
                struct.setAppNameIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 2: // W_DISTANCE
              if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
                struct.wDistance = iprot.readDouble();
                struct.setWDistanceIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 3: // X_VALS
              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                {
                  org.apache.thrift.protocol.TList _list48 = iprot.readListBegin();
                  struct.xVals = new ArrayList<Double>(_list48.size);
                  double _elem49;
                  for (int _i50 = 0; _i50 < _list48.size; ++_i50)
                  {
                    _elem49 = iprot.readDouble();
                    struct.xVals.add(_elem49);
                  }
                  iprot.readListEnd();
                }
                struct.setXValsIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 4: // Y_VALS
              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                {
                  org.apache.thrift.protocol.TList _list51 = iprot.readListBegin();
                  struct.yVals = new ArrayList<Double>(_list51.size);
                  double _elem52;
                  for (int _i53 = 0; _i53 < _list51.size; ++_i53)
                  {
                    _elem52 = iprot.readDouble();
                    struct.yVals.add(_elem52);
                  }
                  iprot.readListEnd();
                }
                struct.setYValsIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 5: // X_VALS_WITHOUT
              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                {
                  org.apache.thrift.protocol.TList _list54 = iprot.readListBegin();
                  struct.xValsWithout = new ArrayList<Double>(_list54.size);
                  double _elem55;
                  for (int _i56 = 0; _i56 < _list54.size; ++_i56)
                  {
                    _elem55 = iprot.readDouble();
                    struct.xValsWithout.add(_elem55);
                  }
                  iprot.readListEnd();
                }
                struct.setXValsWithoutIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 6: // Y_VALS_WITHOUT
              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                {
                  org.apache.thrift.protocol.TList _list57 = iprot.readListBegin();
                  struct.yValsWithout = new ArrayList<Double>(_list57.size);
                  double _elem58;
                  for (int _i59 = 0; _i59 < _list57.size; ++_i59)
                  {
                    _elem58 = iprot.readDouble();
                    struct.yValsWithout.add(_elem58);
                  }
                  iprot.readListEnd();
                }
                struct.setYValsWithoutIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 7: // EXPECTED_VALUE
              if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
                struct.expectedValue = iprot.readDouble();
                struct.setExpectedValueIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 8: // EXPECTED_VALUE_WITHOUT
              if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
                struct.expectedValueWithout = iprot.readDouble();
                struct.setExpectedValueWithoutIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 9: // ERROR
              if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
                struct.error = iprot.readDouble();
                struct.setErrorIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 10: // ERROR_WITHOUT
              if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
                struct.errorWithout = iprot.readDouble();
                struct.setErrorWithoutIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 11: // SAMPLES
              if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
                struct.samples = iprot.readDouble();
                struct.setSamplesIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 12: // SAMPLES_WITHOUT
              if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
                struct.samplesWithout = iprot.readDouble();
                struct.setSamplesWithoutIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 13: // APP_LABEL
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.appLabel = iprot.readString();
                struct.setAppLabelIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            case 14: // APP_PRIORITY
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.appPriority = iprot.readString();
                struct.setAppPriorityIsSet(true);
              } else { 
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
          iprot.readFieldEnd();
        }
        iprot.readStructEnd();
  
        // check for required fields of primitive type, which can't be checked in the validate method
        struct.validate();
      }
  
      public void write(org.apache.thrift.protocol.TProtocol oprot, HogsBugs struct) throws org.apache.thrift.TException {
        struct.validate();
  
        oprot.writeStructBegin(STRUCT_DESC);
        if (struct.appName != null) {
          if (struct.isSetAppName()) {
            oprot.writeFieldBegin(APP_NAME_FIELD_DESC);
            oprot.writeString(struct.appName);
            oprot.writeFieldEnd();
          }
        }
        if (struct.isSetWDistance()) {
          oprot.writeFieldBegin(W_DISTANCE_FIELD_DESC);
          oprot.writeDouble(struct.wDistance);
          oprot.writeFieldEnd();
        }
        if (struct.xVals != null) {
          if (struct.isSetXVals()) {
            oprot.writeFieldBegin(X_VALS_FIELD_DESC);
            {
              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.DOUBLE, struct.xVals.size()));
              for (double _iter60 : struct.xVals)
              {
                oprot.writeDouble(_iter60);
              }
              oprot.writeListEnd();
            }
            oprot.writeFieldEnd();
          }
        }
        if (struct.yVals != null) {
          if (struct.isSetYVals()) {
            oprot.writeFieldBegin(Y_VALS_FIELD_DESC);
            {
              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.DOUBLE, struct.yVals.size()));
              for (double _iter61 : struct.yVals)
              {
                oprot.writeDouble(_iter61);
              }
              oprot.writeListEnd();
            }
            oprot.writeFieldEnd();
          }
        }
        if (struct.xValsWithout != null) {
          if (struct.isSetXValsWithout()) {
            oprot.writeFieldBegin(X_VALS_WITHOUT_FIELD_DESC);
            {
              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.DOUBLE, struct.xValsWithout.size()));
              for (double _iter62 : struct.xValsWithout)
              {
                oprot.writeDouble(_iter62);
              }
              oprot.writeListEnd();
            }
            oprot.writeFieldEnd();
          }
        }
        if (struct.yValsWithout != null) {
          if (struct.isSetYValsWithout()) {
            oprot.writeFieldBegin(Y_VALS_WITHOUT_FIELD_DESC);
            {
              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.DOUBLE, struct.yValsWithout.size()));
              for (double _iter63 : struct.yValsWithout)
              {
                oprot.writeDouble(_iter63);
              }
              oprot.writeListEnd();
            }
            oprot.writeFieldEnd();
          }
        }
        if (struct.isSetExpectedValue()) {
          oprot.writeFieldBegin(EXPECTED_VALUE_FIELD_DESC);
          oprot.writeDouble(struct.expectedValue);
          oprot.writeFieldEnd();
        }
        if (struct.isSetExpectedValueWithout()) {
          oprot.writeFieldBegin(EXPECTED_VALUE_WITHOUT_FIELD_DESC);
          oprot.writeDouble(struct.expectedValueWithout);
          oprot.writeFieldEnd();
        }
        if (struct.isSetError()) {
          oprot.writeFieldBegin(ERROR_FIELD_DESC);
          oprot.writeDouble(struct.error);
          oprot.writeFieldEnd();
        }
        if (struct.isSetErrorWithout()) {
          oprot.writeFieldBegin(ERROR_WITHOUT_FIELD_DESC);
          oprot.writeDouble(struct.errorWithout);
          oprot.writeFieldEnd();
        }
        if (struct.isSetSamples()) {
          oprot.writeFieldBegin(SAMPLES_FIELD_DESC);
          oprot.writeDouble(struct.samples);
          oprot.writeFieldEnd();
        }
        if (struct.isSetSamplesWithout()) {
          oprot.writeFieldBegin(SAMPLES_WITHOUT_FIELD_DESC);
          oprot.writeDouble(struct.samplesWithout);
          oprot.writeFieldEnd();
        }
        if (struct.appLabel != null) {
          if (struct.isSetAppLabel()) {
            oprot.writeFieldBegin(APP_LABEL_FIELD_DESC);
            oprot.writeString(struct.appLabel);
            oprot.writeFieldEnd();
          }
        }
        if (struct.appPriority != null) {
          if (struct.isSetAppPriority()) {
            oprot.writeFieldBegin(APP_PRIORITY_FIELD_DESC);
            oprot.writeString(struct.appPriority);
            oprot.writeFieldEnd();
          }
        }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }
  
    }
  
    private static class HogsBugsTupleSchemeFactory implements SchemeFactory {
      public HogsBugsTupleScheme getScheme() {
        return new HogsBugsTupleScheme();
      }
    }
  
    private static class HogsBugsTupleScheme extends TupleScheme<HogsBugs> {
  
      @Override
      public void write(org.apache.thrift.protocol.TProtocol prot, HogsBugs struct) throws org.apache.thrift.TException {
        TTupleProtocol oprot = (TTupleProtocol) prot;
        BitSet optionals = new BitSet();
        if (struct.isSetAppName()) {
          optionals.set(0);
        }
        if (struct.isSetWDistance()) {
          optionals.set(1);
        }
        if (struct.isSetXVals()) {
          optionals.set(2);
        }
        if (struct.isSetYVals()) {
          optionals.set(3);
        }
        if (struct.isSetXValsWithout()) {
          optionals.set(4);
        }
        if (struct.isSetYValsWithout()) {
          optionals.set(5);
        }
        if (struct.isSetExpectedValue()) {
          optionals.set(6);
        }
        if (struct.isSetExpectedValueWithout()) {
          optionals.set(7);
        }
        if (struct.isSetError()) {
          optionals.set(8);
        }
        if (struct.isSetErrorWithout()) {
          optionals.set(9);
        }
        if (struct.isSetSamples()) {
          optionals.set(10);
        }
        if (struct.isSetSamplesWithout()) {
          optionals.set(11);
        }
        if (struct.isSetAppLabel()) {
          optionals.set(12);
        }
        if (struct.isSetAppPriority()) {
          optionals.set(13);
        }
        oprot.writeBitSet(optionals, 14);
        if (struct.isSetAppName()) {
          oprot.writeString(struct.appName);
        }
        if (struct.isSetWDistance()) {
          oprot.writeDouble(struct.wDistance);
        }
        if (struct.isSetXVals()) {
          {
            oprot.writeI32(struct.xVals.size());
            for (double _iter64 : struct.xVals)
            {
              oprot.writeDouble(_iter64);
            }
          }
        }
        if (struct.isSetYVals()) {
          {
            oprot.writeI32(struct.yVals.size());
            for (double _iter65 : struct.yVals)
            {
              oprot.writeDouble(_iter65);
            }
          }
        }
        if (struct.isSetXValsWithout()) {
          {
            oprot.writeI32(struct.xValsWithout.size());
            for (double _iter66 : struct.xValsWithout)
            {
              oprot.writeDouble(_iter66);
            }
          }
        }
        if (struct.isSetYValsWithout()) {
          {
            oprot.writeI32(struct.yValsWithout.size());
            for (double _iter67 : struct.yValsWithout)
            {
              oprot.writeDouble(_iter67);
            }
          }
        }
        if (struct.isSetExpectedValue()) {
          oprot.writeDouble(struct.expectedValue);
        }
        if (struct.isSetExpectedValueWithout()) {
          oprot.writeDouble(struct.expectedValueWithout);
        }
        if (struct.isSetError()) {
          oprot.writeDouble(struct.error);
        }
        if (struct.isSetErrorWithout()) {
          oprot.writeDouble(struct.errorWithout);
        }
        if (struct.isSetSamples()) {
          oprot.writeDouble(struct.samples);
        }
        if (struct.isSetSamplesWithout()) {
          oprot.writeDouble(struct.samplesWithout);
        }
        if (struct.isSetAppLabel()) {
          oprot.writeString(struct.appLabel);
        }
        if (struct.isSetAppPriority()) {
          oprot.writeString(struct.appPriority);
        }
      }
  
      @Override
      public void read(org.apache.thrift.protocol.TProtocol prot, HogsBugs struct) throws org.apache.thrift.TException {
        TTupleProtocol iprot = (TTupleProtocol) prot;
        BitSet incoming = iprot.readBitSet(14);
        if (incoming.get(0)) {
          struct.appName = iprot.readString();
          struct.setAppNameIsSet(true);
        }
        if (incoming.get(1)) {
          struct.wDistance = iprot.readDouble();
          struct.setWDistanceIsSet(true);
        }
        if (incoming.get(2)) {
          {
            org.apache.thrift.protocol.TList _list68 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.DOUBLE, iprot.readI32());
            struct.xVals = new ArrayList<Double>(_list68.size);
            double _elem69;
            for (int _i70 = 0; _i70 < _list68.size; ++_i70)
            {
              _elem69 = iprot.readDouble();
              struct.xVals.add(_elem69);
            }
          }
          struct.setXValsIsSet(true);
        }
        if (incoming.get(3)) {
          {
            org.apache.thrift.protocol.TList _list71 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.DOUBLE, iprot.readI32());
            struct.yVals = new ArrayList<Double>(_list71.size);
            double _elem72;
            for (int _i73 = 0; _i73 < _list71.size; ++_i73)
            {
              _elem72 = iprot.readDouble();
              struct.yVals.add(_elem72);
            }
          }
          struct.setYValsIsSet(true);
        }
        if (incoming.get(4)) {
          {
            org.apache.thrift.protocol.TList _list74 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.DOUBLE, iprot.readI32());
            struct.xValsWithout = new ArrayList<Double>(_list74.size);
            double _elem75;
            for (int _i76 = 0; _i76 < _list74.size; ++_i76)
            {
              _elem75 = iprot.readDouble();
              struct.xValsWithout.add(_elem75);
            }
          }
          struct.setXValsWithoutIsSet(true);
        }
        if (incoming.get(5)) {
          {
            org.apache.thrift.protocol.TList _list77 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.DOUBLE, iprot.readI32());
            struct.yValsWithout = new ArrayList<Double>(_list77.size);
            double _elem78;
            for (int _i79 = 0; _i79 < _list77.size; ++_i79)
            {
              _elem78 = iprot.readDouble();
              struct.yValsWithout.add(_elem78);
            }
          }
          struct.setYValsWithoutIsSet(true);
        }
        if (incoming.get(6)) {
          struct.expectedValue = iprot.readDouble();
          struct.setExpectedValueIsSet(true);
        }
        if (incoming.get(7)) {
          struct.expectedValueWithout = iprot.readDouble();
          struct.setExpectedValueWithoutIsSet(true);
        }
        if (incoming.get(8)) {
          struct.error = iprot.readDouble();
          struct.setErrorIsSet(true);
        }
        if (incoming.get(9)) {
          struct.errorWithout = iprot.readDouble();
          struct.setErrorWithoutIsSet(true);
        }
        if (incoming.get(10)) {
          struct.samples = iprot.readDouble();
          struct.setSamplesIsSet(true);
        }
        if (incoming.get(11)) {
          struct.samplesWithout = iprot.readDouble();
          struct.setSamplesWithoutIsSet(true);
        }
        if (incoming.get(12)) {
          struct.appLabel = iprot.readString();
          struct.setAppLabelIsSet(true);
        }
        if (incoming.get(13)) {
          struct.appPriority = iprot.readString();
          struct.setAppPriorityIsSet(true);
        }
      }
    }
  
  }
  
  