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

          if (hasKind() != other.hasKind()) return false;
          if (hasKind()) {
            if (kind_ != other.kind_) return false;
          }
          if (hasText() != other.hasText()) return false;
          if (hasText()) {
            if (!getText()
                .equals(other.getText())) return false;
          }
          if (hasSourceUri() != other.hasSourceUri()) return false;
          if (hasSourceUri()) {
            if (!getSourceUri()
                .equals(other.getSourceUri())) return false;
          }
          if (hasProblemBeginOffset() != other.hasProblemBeginOffset()) return false;
          if (hasProblemBeginOffset()) {
            if (getProblemBeginOffset()
                != other.getProblemBeginOffset()) return false;
          }
          if (hasProblemEndOffset() != other.hasProblemEndOffset()) return false;
          if (hasProblemEndOffset()) {
            if (getProblemEndOffset()
                != other.getProblemEndOffset()) return false;
          }
          if (hasProblemLocationOffset() != other.hasProblemLocationOffset()) return false;
          if (hasProblemLocationOffset()) {
            if (getProblemLocationOffset()
                != other.getProblemLocationOffset()) return false;
          }
          if (hasLine() != other.hasLine()) return false;
          if (hasLine()) {
            if (getLine()
                != other.getLine()) return false;
          }
          if (hasColumn() != other.hasColumn()) return false;
          if (hasColumn()) {
            if (getColumn()
                != other.getColumn()) return false;
          }
          if (!getUnknownFields().equals(other.getUnknownFields())) return false;
          return true;
        }
@java.lang.Override
        public boolean equals(final java.lang.Object obj)