### Question:
LayerSettings implements Cloneable { @Override public LayerSettings clone() { try { return (LayerSettings)super.clone(); } catch (CloneNotSupportedException e) { throw new ExpectedCloneableException(e); } } LayerSettings();  LayerSettings(String name); String getName(); void setName(String name); LoadsTo getLoadsTo(); void setLoadsTo(LoadsTo loadsTo); boolean isTimelineEnabled(); void setTimelineEnabled(boolean timelineEnabled); boolean isMetadataEnabled(); void setMetadataEnabled(boolean metadataEnabled); Color getColor(); void setColor(Color color); boolean isActive(); void setActive(boolean isActive); boolean isFieldSetByUser(String field); void setFieldSetByUser(String field); @Override int hashCode(); @Override boolean equals(Object obj); @Override String toString(); @Override LayerSettings clone(); static String LOADS_TO; }### Answer:
@Test public void testClone() { LayerSettings input = getTestObject(); LayerSettings clone = input.clone(); Assert.assertTrue(Utilities.notSameInstance(input, clone)); Assert.assertTrue(Utilities.sameInstance(input.getClass(), clone.getClass())); Assert.assertEquals(input, clone); }