public void setAnnotation(final String key, final Object value) {
        if (finalized) throw new IllegalStateException("Metrics have been finalized and cannot be modified");
        if (!(value instanceof String) && !(value instanceof Number)) {
            throw new IllegalArgumentException("Metrics annotations only support String and Number values.");
        }
        annotations.put(key, value);
    }
Set an annotation value. Support exists for Strings and Numbers only. During a merge, Strings are concatenated
into a "," (comma) separated list of distinct values (duplicates are ignored), and Numbers are summed.
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/MutableMetrics.java