### Question:
ArrayTagSet implements TagList { @Override public String toString() { StringBuilder builder = new StringBuilder(); for (int i = 0; i < length; i += 2) { builder.append(':').append(tags[i]).append('=').append(tags[i + 1]); } return builder.toString(); } private  ArrayTagSet(String[] tags); private  ArrayTagSet(String[] tags, int length); @Override String getKey(int i); @Override String getValue(int i); @Override int size(); @Override ArrayTagSet filter(BiPredicate<String, String> predicate); @Override ArrayTagSet filterByKey(Predicate<String> predicate); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void testToString() { ArrayTagSet ts1 = ArrayTagSet.create("k1", "v1"); ArrayTagSet ts2 = ArrayTagSet.create("k2", "v2").addAll(ts1); ArrayTagSet ts3 = ArrayTagSet.create("k3", "v3").addAll(ts2); Assertions.assertEquals(":k1=v1", ts1.toString()); Assertions.assertEquals(":k1=v1:k2=v2", ts2.toString()); Assertions.assertEquals(":k1=v1:k2=v2:k3=v3", ts3.toString()); }