@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.Response)) {
          return super.equals(obj);
        }
        org.jetbrains.jps.javac.rpc.JavacRemoteProto.Message.Response other = (org.jetbrains.jps.javac.rpc.JavacRemoteProto.Message.Response) obj;

        if (hasResponseType() != other.hasResponseType()) return false;
        if (hasResponseType()) {
          if (responseType_ != other.responseType_) return false;
        }
        if (hasCompileMessage() != other.hasCompileMessage()) return false;
        if (hasCompileMessage()) {
          if (!getCompileMessage()
              .equals(other.getCompileMessage())) return false;
        }
        if (hasOutputObject() != other.hasOutputObject()) return false;
        if (hasOutputObject()) {
          if (!getOutputObject()
              .equals(other.getOutputObject())) return false;
        }
        if (hasClassData() != other.hasClassData()) return false;
        if (hasClassData()) {
          if (!getClassData()
              .equals(other.getClassData())) return false;
        }
        if (hasCompletionStatus() != other.hasCompletionStatus()) return false;
        if (hasCompletionStatus()) {
          if (getCompletionStatus()
              != other.getCompletionStatus()) return false;
        }
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }
@java.lang.Override
      public boolean equals(final java.lang.Object obj)