@java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof org.jetbrains.jps.javac.rpc.JavacRemoteProto.Message.Failure)) {
          return super.equals(obj);
        }
        org.jetbrains.jps.javac.rpc.JavacRemoteProto.Message.Failure other = (org.jetbrains.jps.javac.rpc.JavacRemoteProto.Message.Failure) obj;

        if (hasErrorCode() != other.hasErrorCode()) return false;
        if (hasErrorCode()) {
          if (getErrorCode()
              != other.getErrorCode()) return false;
        }
        if (hasDescription() != other.hasDescription()) return false;
        if (hasDescription()) {
          if (!getDescription()
              .equals(other.getDescription())) return false;
        }
        if (hasStacktrace() != other.hasStacktrace()) return false;
        if (hasStacktrace()) {
          if (!getStacktrace()
              .equals(other.getStacktrace())) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }
@java.lang.Override
      public boolean equals(final java.lang.Object obj)