@Override
  public boolean equals(Object o) {
    if (o == this) return true;
    if (!(o instanceof V1BinaryAnnotation)) return false;
    V1BinaryAnnotation that = (V1BinaryAnnotation) o;
    return key.equals(that.key)
        && Objects.equals(stringValue, that.stringValue)
        && Objects.equals(endpoint, that.endpoint);
  }
When {@link #stringValue()} is present, this is the same as the {@link Span#localEndpoint()}
Otherwise, it is the same as the {@link Span#remoteEndpoint()}.
zipkin/src/main/java/zipkin2/v1/V1BinaryAnnotation.java