@java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
      return true;
    }
    if (!(obj instanceof com.google.devtools.cloudtrace.v2.StackTrace)) {
      return super.equals(obj);
    }
    com.google.devtools.cloudtrace.v2.StackTrace other =
        (com.google.devtools.cloudtrace.v2.StackTrace) obj;

    if (hasStackFrames() != other.hasStackFrames()) return false;
    if (hasStackFrames()) {
      if (!getStackFrames().equals(other.getStackFrames())) return false;
    }
    if (getStackTraceHashId() != other.getStackTraceHashId()) return false;
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }
<pre>
The hash ID is used to conserve network bandwidth for duplicate
stack traces within a single trace.

Often multiple spans will have identical stack traces.
The first occurrence of a stack trace should contain both the
`stackFrame` content and a value in `stackTraceHashId`.

Subsequent spans within the same request can refer
to that stack trace by only setting `stackTraceHashId`.
</pre>

<code>int64 stack_trace_hash_id = 2;</code>

@return The stackTraceHashId.
java-trace/proto-google-cloud-trace-v2/src/main/java/com/google/devtools/cloudtrace/v2/StackTrace.java