Tags { public static Builder builder() { return new Builder(); } private  Tags(SortedMap<String, SortedSet<Object>> map); static Builder builder(); static Tags empty(); static Tags of(String name, String value); static Tags of(String name, boolean value); static Tags of(String name, long value); static Tags of(String name, double value); SortedMap<String, SortedSet<Object>> asMap(); boolean isEmpty(); Tags merge(Tags other); @Override boolean equals(@NullableDecl Object obj); @Override int hashCode(); @Override String toString();  }
@Test public void testTagWithBadName() { thrown.expect(IllegalArgumentException.class); Tags.builder().addTag("foo!", "bar"); }