### Question:
ValueFilterMapSubset extends AbstractValueFilter { private ValueString toString(ValueMap subsetMap) { StringBuilder sb = new StringBuilder(); for (ValueMapEntry valueMapEntry : subsetMap) { if (sb.length() == 0) { sb.append(valueMapEntry.getKey()) .append(keySep) .append(valueMapEntry.getValue()); } else { sb.append(valueSep) .append(valueMapEntry.getKey()) .append(keySep) .append(valueMapEntry.getValue()); } } return ValueFactory.create(sb.toString()); }  @Override ValueObject filterValue(ValueObject value);  }### Answer:
@Test public void string() throws Exception { ValueMap map = createMap("k1=v1", "k2=v2", "k3=v3"); ValueFilterMapSubset mapSubsetFilter = decodeObject(ValueFilterMapSubset.class, "toString = true"); assertEquals("k1=v1,k2=v2,k3=v3", mapSubsetFilter.filter(map).toString()); }