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

      if (hasSessionId() != other.hasSessionId()) return false;
      if (hasSessionId()) {
        if (!getSessionId()
            .equals(other.getSessionId())) return false;
      }
      if (hasMessageType() != other.hasMessageType()) return false;
      if (hasMessageType()) {
        if (messageType_ != other.messageType_) return false;
      }
      if (hasRequest() != other.hasRequest()) return false;
      if (hasRequest()) {
        if (!getRequest()
            .equals(other.getRequest())) return false;
      }
      if (hasResponse() != other.hasResponse()) return false;
      if (hasResponse()) {
        if (!getResponse()
            .equals(other.getResponse())) return false;
      }
      if (hasFailure() != other.hasFailure()) return false;
      if (hasFailure()) {
        if (!getFailure()
            .equals(other.getFailure())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }
@java.lang.Override
    public boolean equals(final java.lang.Object obj)