public Observer clone() throws CloneNotSupportedException { SetAttribute clonedObserver = (SetAttribute) super.clone(); List<SetAttributeObject> list = new ArrayList<SetAttributeObject>(); for (SetAttributeObject obj : getSetAttributeObjects()) { list.add(obj.clone()); } clonedObserver.setSetAttributeObjects(list); return clonedObserver; }