in core/src/main/java/com/spotify/metrics/core/SemanticMetricRegistry.java [117:133]
public <T extends Metric> T register(@NonNull final MetricId name, @NonNull final T metric)
throws IllegalArgumentException {
if (metric == null) {
throw new IllegalArgumentException("A metric cannot be null");
}
if (metric instanceof SemanticMetricSet) {
registerAll(name, (SemanticMetricSet) metric);
} else {
final Metric existing = metrics.putIfAbsent(name, metric);
if (existing == null) {
onMetricAdded(name, metric);
} else {
throw new IllegalArgumentException("A metric named " + name + " already exists");
}
}
return metric;
}