public static TraceTokenScope addTraceTokenProperties(String... properties)
{
TokenState tokenState = token.get();
if (tokenState == null) {
return new TraceTokenScope(null);
}
Map<String, String> map = new LinkedHashMap<>(tokenState.getToken());
checkArgument((properties.length % 2) == 0, "odd number of elements in properties");
for (int i = 0; i < properties.length; i += 2) {
requireNonNull(properties[i], "property key is null");
requireNonNull(properties[i+1], "property value is null");
map.put(properties[i], properties[i+1]);
}
return registerTraceToken(new TraceToken(map));
}