@Override public LayoutRowDefinition clone() { Map<String, Map<String, Serializable>> cprops = null; if (properties != null) { cprops = new HashMap<>(); for (Map.Entry<String, Map<String, Serializable>> entry : properties.entrySet()) { Map<String, Serializable> subProps = entry.getValue(); Map<String, Serializable> csubProps = null; if (subProps != null) { csubProps = new HashMap<>(); csubProps.putAll(subProps); } cprops.put(entry.getKey(), csubProps); } } WidgetReference[] cwidgets = null; if (widgets != null) { cwidgets = new WidgetReference[widgets.length]; for (int i = 0; i < widgets.length; i++) { cwidgets[i] = widgets[i].clone(); } } return new LayoutRowDefinitionImpl(name, cprops, cwidgets, alwaysSelected, selectedByDefault); }
csubWidgetRefs = new WidgetReference[subWidgetReferences.length]; for (int i = 0; i < subWidgetReferences.length; i++) { csubWidgetRefs[i] = subWidgetReferences[i].clone();