public int compareTo(put_args other) {
      if (!getClass().equals(other.getClass())) {
        return getClass().getName().compareTo(other.getClass().getName());
      }

      int lastComparison = 0;
      put_args typedOther = (put_args)other;

      lastComparison = Boolean.valueOf(isSetInterfaceName()).compareTo(typedOther.isSetInterfaceName());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetInterfaceName()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.interfaceName, typedOther.interfaceName);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetImplClassName()).compareTo(typedOther.isSetImplClassName());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetImplClassName()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.implClassName, typedOther.implClassName);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetClassNames()).compareTo(typedOther.isSetClassNames());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetClassNames()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.classNames, typedOther.classNames);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      lastComparison = Boolean.valueOf(isSetClasses()).compareTo(typedOther.isSetClasses());
      if (lastComparison != 0) {
        return lastComparison;
      }
      if (isSetClasses()) {
        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.classes, typedOther.classes);
        if (lastComparison != 0) {
          return lastComparison;
        }
      }
      return 0;
    }