@java.lang.Override
          public Builder mergeFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
              throws java.io.IOException {
            if (extensionRegistry == null) {
              throw new java.lang.NullPointerException();
            }
            try {
              boolean done = false;
              while (!done) {
                int tag = input.readTag();
                switch (tag) {
                  case 0:
                    done = true;
                    break;
                  case 8: {
                    int tmpRaw = input.readEnum();
                    org.jetbrains.jps.javac.rpc.JavacRemoteProto.Message.Response.OutputObject.Kind tmpValue =
                        org.jetbrains.jps.javac.rpc.JavacRemoteProto.Message.Response.OutputObject.Kind.forNumber(tmpRaw);
                    if (tmpValue == null) {
                      mergeUnknownVarintField(1, tmpRaw);
                    } else {
                      kind_ = tmpRaw;
                      bitField0_ |= 0x00000001;
                    }
                    break;
                  } // case 8
                  case 18: {
                    filePath_ = input.readBytes();
                    bitField0_ |= 0x00000002;
                    break;
                  } // case 18
                  case 26: {
                    outputRoot_ = input.readBytes();
                    bitField0_ |= 0x00000004;
                    break;
                  } // case 26
                  case 34: {
                    relativePath_ = input.readBytes();
                    bitField0_ |= 0x00000008;
                    break;
                  } // case 34
                  case 42: {
                    className_ = input.readBytes();
                    bitField0_ |= 0x00000010;
                    break;
                  } // case 42
                  case 50: {
                    com.google.protobuf.ByteString bs = input.readBytes();
                    ensureSourceUriIsMutable();
                    sourceUri_.add(bs);
                    break;
                  } // case 50
                  case 58: {
                    content_ = input.readBytes();
                    bitField0_ |= 0x00000040;
                    break;
                  } // case 58
                  case 66: {
                    location_ = input.readBytes();
                    bitField0_ |= 0x00000080;
                    break;
                  } // case 66
                  case 72: {
                    isGenerated_ = input.readBool();
                    bitField0_ |= 0x00000100;
                    break;
                  } // case 72
                  default: {
                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                      done = true; // was an endgroup tag
                    }
                    break;
                  } // default:
                } // switch (tag)
              } // while (!done)
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
              throw e.unwrapIOException();
            } finally {
              onChanged();
            } // finally
            return this;
          }
@java.lang.Override
          public Builder mergeFrom(
              com.google.protobuf.CodedInputStream input,
              com.google.protobuf.ExtensionRegistryLite extensionRegistry)