@Override public ParametersList clone() { try { final ParametersList clone = (ParametersList) super.clone(); clone.myParameters = new ArrayList<String>(myParameters); clone.myGroups = new ArrayList<ParamsGroup>(myGroups.size() + 1); for (ParamsGroup group : myGroups) { clone.myGroups.add(group.clone()); } return clone; } catch (CloneNotSupportedException e) { LOG.error(e); return null; } }