### Question:
PropertyValue implements Serializable, Iterable<PropertyValue> { @Override public String toString() { return String.valueOf(value); } PropertyValue(String key); protected  PropertyValue(String key, String value); static ObjectValue createObject(); static ListValue createList(); static PropertyValue createValue(String key, String value); static ListValue createList(String key); static ObjectValue createObject(String key); static Map<String, PropertyValue> mapProperties(Map<String, String> config, String source); static Map<String, PropertyValue> mapProperties(Map<String, String> config, String source,
                                                           Map<String,String> metaData); static Map<String, PropertyValue> mapProperties(Map<String, String> config, String source,
                                                           Map<String,String> metaData, String prefix); final boolean isImmutable(); PropertyValue immutable(); PropertyValue mutable(); ValueType getValueType(); final String getKey(); String getValue(); @Deprecated String getSource(); PropertyValue setValue(String value); String getQualifiedKey(); final PropertyValue getParent(); final int getVersion(); final boolean isRoot(); final boolean isLeaf(); final Map<String, String> getMeta(); @Deprecated String getMetaEntry(String key); final T getMeta(String key); int getSize(); @Override Iterator<PropertyValue> iterator(); final PropertyValue setMeta(Map<String, String> metaEntries); final PropertyValue setMeta(String key, Object value); final PropertyValue removeMeta(String key); Map<String,String> toMap(); Map<String,String> toLocalMap(); @Override String toString(); ObjectValue toObjectValue(); ListValue toListValue(); PropertyValue setKey(String key); @Override boolean equals(Object o); @Override int hashCode();  }### Answer:
@Test public void testToString() { ObjectValue n = PropertyValue.createObject(""); n.setValue("a", "aVal"); n.setValue("b.b2.b3", "b3Val"); n.setValue("c", "cVal1"); assertThat("Object{size='3', values='{a=aVal, b.b2.b3=b3Val, c=cVal1}}").isEqualTo(n.toString()); }