public static MetricName getMetricName(
        String group,
        String typeName,
        String name
    ) {
        return getMetricName(
            group,
            typeName,
            name,
            null
        );
    }
@Test
    public void testTaggedMetricNameWithEmptyValue() {
        LinkedHashMap<String, String> tags = new LinkedHashMap<>();
        tags.put("foo", "bar");
        tags.put("bar", "");
        tags.put("baz", "raz.taz");

        MetricName metricName = KafkaYammerMetrics.getMetricName(
            "kafka.metrics",
            "TestMetrics",
            "TaggedMetric",
            tags
        );

        assertEquals("kafka.metrics", metricName.getGroup());
        assertEquals("TestMetrics", metricName.getType());
        assertEquals("TaggedMetric", metricName.getName());

        // MBean name should preserve initial ordering (with empty key value removed)
        assertEquals("kafka.metrics:type=TestMetrics,name=TaggedMetric,foo=bar,baz=raz.taz",
            metricName.getMBeanName());

        // Scope should be sorted by key (with empty key value removed)
        assertEquals("baz.raz_taz.foo.bar", metricName.getScope());
    }