public void setAttribute()

in common/src/main/java/co/elastic/otel/common/MutableSpanData.java [43:62]


  public <T> void setAttribute(AttributeKey<T> key, @Nullable T value) {
    if (attributeOverrides != null
        && attributeOverrides.containsKey(key)
        && Objects.equals(attributeOverrides.get(key), value)) {
      return;
    }
    T originalValue = super.getAttributes().get(key);
    if (Objects.equals(originalValue, value)) {
      if (attributeOverrides != null) {
        cachedMutatedAttributes = null;
        attributeOverrides.remove(key);
      }
      return;
    }
    if (attributeOverrides == null) {
      attributeOverrides = new HashMap<>();
    }
    cachedMutatedAttributes = null;
    attributeOverrides.put(key, value);
  }