### Question:
SubConfiguration implements Configuration { public void setConfiguration(Configuration newCfg){ cfg=newCfg; } SubConfiguration();  SubConfiguration(Configuration cfg, String prefix); void setConfiguration(Configuration newCfg); void setPrefix(String newPrefix); String get(String propertyName); String[] getAll(String propertyName); int[] getInts(String propertyName); long[] getLongs(String propertyName); double[] getDoubles(String propertyName); boolean[] getBooleans(String propertyName); String get(String propertyName, String defaultValue); boolean getBoolean(String propertyName); boolean getBoolean(String propertyName, boolean defaultValue); double getDouble(String propertyName); double getDouble(String propertyName, double defaultValue); long getLong(String propertyName); long getLong(String propertyName, long defaultValue); int getInt(String propertyName); int getInt(String propertyName, int defaultValue); void put(String name, Object value); Object getObject(String propertyName); @Override Set<String> keySet();  }### Answer:
@Test public void testSetConfiguration() throws Throwable { SubConfiguration subConfiguration = new SubConfiguration(new SubConfiguration(), "testSubConfigurationPrefix"); Configuration newCfg = new SimpleConfiguration(); subConfiguration.setConfiguration(newCfg); assertSame(newCfg, subConfiguration.cfg, "subConfiguration.cfg"); }