### Question:
CommentedProperties extends Properties { @Override public synchronized Object setProperty( String key, String value ) { return put(key, value); } CommentedProperties();  CommentedProperties( Properties defaultValues ); @Override synchronized void load( InputStream inStream ); @Override synchronized void load( Reader in ); @Override synchronized Object setProperty( String key, String value ); @Override synchronized void store( OutputStream out, String comments ); @Override synchronized Object put( Object arg0, Object arg1 ); @Override synchronized void putAll( Map< ? , ? > arg0 ); @Override synchronized Object remove( Object key ); @Override synchronized String toString();  }### Answer:
@Test public void testSetProperty() { m_props.setProperty( "testProp1", "newValue" ); Assertions.assertEquals( m_propFileSize+5, m_props.toString().length() ); Assertions.assertTrue( m_props.toString().indexOf( "newValue" ) != -1 ); m_props.setProperty( "newProp", "newValue2" ); m_props.containsKey( "newProp" ); m_props.containsValue( "newValue2" ); Assertions.assertEquals( m_propFileSize+5+21, m_props.toString().length() ); Assertions.assertTrue( m_props.toString().indexOf( "newProp = newValue2" ) != -1 ); }