@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 10:
              {
                input.readMessage(getCurrentTimeFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00000001;
                break;
              } // case 10
            case 18:
              {
                com.google.cloud.visionai.v1.OccupancyCountingPredictionResult.IdentifiedBox m =
                    input.readMessage(
                        com.google.cloud.visionai.v1.OccupancyCountingPredictionResult.IdentifiedBox
                            .parser(),
                        extensionRegistry);
                if (identifiedBoxesBuilder_ == null) {
                  ensureIdentifiedBoxesIsMutable();
                  identifiedBoxes_.add(m);
                } else {
                  identifiedBoxesBuilder_.addMessage(m);
                }
                break;
              } // case 18
            case 26:
              {
                input.readMessage(getStatsFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00000004;
                break;
              } // case 26
            case 34:
              {
                com.google.cloud.visionai.v1.OccupancyCountingPredictionResult.TrackInfo m =
                    input.readMessage(
                        com.google.cloud.visionai.v1.OccupancyCountingPredictionResult.TrackInfo
                            .parser(),
                        extensionRegistry);
                if (trackInfoBuilder_ == null) {
                  ensureTrackInfoIsMutable();
                  trackInfo_.add(m);
                } else {
                  trackInfoBuilder_.addMessage(m);
                }
                break;
              } // case 34
            case 42:
              {
                com.google.cloud.visionai.v1.OccupancyCountingPredictionResult.DwellTimeInfo m =
                    input.readMessage(
                        com.google.cloud.visionai.v1.OccupancyCountingPredictionResult.DwellTimeInfo
                            .parser(),
                        extensionRegistry);
                if (dwellTimeInfoBuilder_ == null) {
                  ensureDwellTimeInfoIsMutable();
                  dwellTimeInfo_.add(m);
                } else {
                  dwellTimeInfoBuilder_.addMessage(m);
                }
                break;
              } // case 42
            case 48:
              {
                pts_ = input.readInt64();
                bitField0_ |= 0x00000020;
                break;
              } // case 48
            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;
    }
<pre>
The prediction result proto for occupancy counting.
</pre>

Protobuf type {@code google.cloud.visionai.v1.OccupancyCountingPredictionResult}
java-visionai/proto-google-cloud-visionai-v1/src/main/java/com/google/cloud/visionai/v1/OccupancyCountingPredictionResult.java