public boolean equals(put_args that) {
      if (that == null)
        return false;

      boolean this_present_interfaceName = true && this.isSetInterfaceName();
      boolean that_present_interfaceName = true && that.isSetInterfaceName();
      if (this_present_interfaceName || that_present_interfaceName) {
        if (!(this_present_interfaceName && that_present_interfaceName))
          return false;
        if (!this.interfaceName.equals(that.interfaceName))
          return false;
      }

      boolean this_present_implClassName = true && this.isSetImplClassName();
      boolean that_present_implClassName = true && that.isSetImplClassName();
      if (this_present_implClassName || that_present_implClassName) {
        if (!(this_present_implClassName && that_present_implClassName))
          return false;
        if (!this.implClassName.equals(that.implClassName))
          return false;
      }

      boolean this_present_classNames = true && this.isSetClassNames();
      boolean that_present_classNames = true && that.isSetClassNames();
      if (this_present_classNames || that_present_classNames) {
        if (!(this_present_classNames && that_present_classNames))
          return false;
        if (!this.classNames.equals(that.classNames))
          return false;
      }

      boolean this_present_classes = true && this.isSetClasses();
      boolean that_present_classes = true && that.isSetClasses();
      if (this_present_classes || that_present_classes) {
        if (!(this_present_classes && that_present_classes))
          return false;
        if (!this.classes.equals(that.classes))
          return false;
      }

      return true;
    }