Index: trunk/src/org/openstreetmap/josm/gui/mappaint/Cascade.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/Cascade.java	(revision 11387)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/Cascade.java	(revision 11388)
@@ -19,11 +19,26 @@
  * Simple map of properties with dynamic typing.
  */
-public final class Cascade implements Cloneable {
-
-    private Map<String, Object> prop = new HashMap<>();
+public final class Cascade {
+
+    private final Map<String, Object> prop;
 
     private boolean defaultSelectedHandling = true;
 
     private static final Pattern HEX_COLOR_PATTERN = Pattern.compile("#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})");
+
+    /**
+     * Constructs a new {@code Cascade}.
+     */
+    public Cascade() {
+        this.prop = new HashMap<>();
+    }
+
+    /**
+     * Constructs a new {@code Cascade} from existing one.
+     * @param other other Cascade
+     */
+    public Cascade(Cascade other) {
+        this.prop = new HashMap<>(other.prop);
+    }
 
     public <T> T get(String key, T def, Class<T> klass) {
@@ -196,17 +211,4 @@
 
     @Override
-    public Cascade clone() {
-        try {
-            Cascade c = (Cascade) super.clone();
-            @SuppressWarnings({ "unchecked", "rawtypes" })
-            Map<String, Object> clonedProp = (Map<String, Object>) ((HashMap) this.prop).clone();
-            c.prop = clonedProp;
-            return c;
-        } catch (CloneNotSupportedException e) {
-            throw new IllegalStateException(e);
-        }
-    }
-
-    @Override
     public String toString() {
         StringBuilder res = new StringBuilder("Cascade{ ");
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/MultiCascade.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/MultiCascade.java	(revision 11387)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/MultiCascade.java	(revision 11388)
@@ -39,5 +39,5 @@
         if (c == null) {
             if (layers.containsKey("*")) {
-                c = layers.get("*").clone();
+                c = new Cascade(layers.get("*"));
             } else {
                 c = new Cascade();
