docs: private static void decodeTag(String stringTag, Map<TagKey, TagValueWithMetadata> tags) {
      String keyWithValue;
      int firstPropertyIndex = stringTag.indexOf(TAG_PROPERTIES_DELIMITER);
      if (firstPropertyIndex != -1) { // Tag with properties.
        keyWithValue = stringTag.substring(0, firstPropertyIndex);
        // TODO(songya): support decoding tag properties.
      } else { // Tag without properties.
        keyWithValue = stringTag;
      }
      List<String> keyValuePair = TAG_KEY_VALUE_SPLITTER.splitToList(keyWithValue);
      checkArgument(keyValuePair.size() == 2, "Malformed tag " + stringTag);
      TagKey key = TagKey.create(keyValuePair.get(0).trim());
      TagValue value = TagValue.create(keyValuePair.get(1).trim());
      TagValueWithMetadata valueWithMetadata =
          TagValueWithMetadata.create(value, METADATA_UNLIMITED_PROPAGATION);
      tags.put(key, valueWithMetadata);
    }