### Question:
ExtendedProperties implements Map<String, String>, Serializable, Cloneable { @Override public ExtendedProperties clone() { try { ExtendedProperties clone = (ExtendedProperties) super.clone(); clone.keySet = null; clone.entrySet = null; clone.values = null; clone.propsMap = new ConcurrentHashMap<String, String>(propsMap); if (defaults != null) { if (defaults instanceof ExtendedProperties) { clone.defaults = ((ExtendedProperties) defaults).clone(); } else { clone.defaults = Maps.newHashMap(defaults); } } return clone; } catch (CloneNotSupportedException ex) { throw new IllegalStateException(ex); } } ExtendedProperties();  ExtendedProperties(final Map<String, String> defaults); static ExtendedProperties fromProperties(final Properties props); @Override void clear(); @Override String get(final Object key); String get(final Object key, final String defaultValue); String get(final Object key, final boolean process); boolean getBoolean(final String key); boolean getBoolean(final String key, final boolean defaultValue); long getLong(final String key); long getLong(final String key, final long defaultValue); int getInteger(final String key); int getInteger(final String key, final int defaultValue); @Override String put(final String key, final String value); @Override boolean containsKey(final Object key); @Override boolean containsValue(final Object value); @Override Set<Entry<String, String>> entrySet(); @Override boolean isEmpty(); @Override void putAll(final Map<? extends String, ? extends String> map); @Override String remove(final Object key); @Override Collection<String> values(); @Override Set<String> keySet(); @Override int size(); String processPropertyValue(final String input); @Override boolean equals(final Object obj); @Override int hashCode(); Properties toProperties(); @Override String toString(); void load(final InputStream is); void load(final InputStream is, final String encoding); void load(final Reader reader); void store(final OutputStream os, final String comments, final boolean sorted, final boolean process); void store(final OutputStream os, final String encoding, final String comments, final boolean sorted,
			final boolean process); void store(final Writer writer, final String comments, final boolean sorted, final boolean process); @Override ExtendedProperties clone();  }### Answer:
@Test public void testClone() { ExtendedProperties clone = props.clone(); assertProps(clone); }