@java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    if (hasCaptureTime()) {
      hash = (37 * hash) + CAPTURE_TIME_FIELD_NUMBER;
      hash = (53 * hash) + getCaptureTime().hashCode();
    }
    if (hasType()) {
      hash = (37 * hash) + TYPE_FIELD_NUMBER;
      hash = (53 * hash) + getType().hashCode();
    }
    if (hasMetadata()) {
      hash = (37 * hash) + METADATA_FIELD_NUMBER;
      hash = (53 * hash) + getMetadata().hashCode();
    }
    if (hasServerMetadata()) {
      hash = (37 * hash) + SERVER_METADATA_FIELD_NUMBER;
      hash = (53 * hash) + getServerMetadata().hashCode();
    }
    if (hasSeriesMetadata()) {
      hash = (37 * hash) + SERIES_METADATA_FIELD_NUMBER;
      hash = (53 * hash) + getSeriesMetadata().hashCode();
    }
    hash = (37 * hash) + FLAGS_FIELD_NUMBER;
    hash = (53 * hash) + getFlags();
    hash = (37 * hash) + TRACE_CONTEXT_FIELD_NUMBER;
    hash = (53 * hash) + getTraceContext().hashCode();
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }
<pre>
Immutable. Header string for tracing across services. It should be set when
the packet is first arrived in the stream server.

The input format is a lowercase hex string:
  - version_id: 1 byte, currently must be zero - hex encoded (2 characters)
  - trace_id: 16 bytes (opaque blob) - hex encoded (32 characters)
  - span_id: 8 bytes (opaque blob) - hex encoded (16 characters)
  - trace_options: 1 byte (LSB means tracing enabled) - hex encoded (2
  characters)
Example: "00-404142434445464748494a4b4c4d4e4f-6162636465666768-01"
          v  trace_id                         span_id          options
</pre>

<code>string trace_context = 7 [(.google.api.field_behavior) = IMMUTABLE];</code>

@return The bytes for traceContext.
java-visionai/proto-google-cloud-visionai-v1/src/main/java/com/google/cloud/visionai/v1/PacketHeader.java