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);
}