@SuppressWarnings({"unchecked", "rawtypes"})
    public static String toString(final Properties props) {
        StringBuilder result = new StringBuilder();
        Iterator<String> iterator = new TreeMap(props).keySet().iterator();
        while (iterator.hasNext()) {
            String key = iterator.next();
            Object value = props.get(key);
            if (null == value) {
                continue;
            }
            result.append(String.format("'%s'='%s'", key, value));
            if (iterator.hasNext()) {
                result.append(",").append(' ');
            }
        }
        return result.toString();
    }
@Test
    void assertToStringWithMultipleKeys() {
        assertThat(PropertiesUtils.toString(PropertiesBuilder.build(new Property("key1", "value1"), new Property("key2", "value2"))), is("'key1'='value1', 'key2'='value2'"));
    }