@Override public DeathDetailsRequest clone() { DeathDetailsRequest clone = new DeathDetailsRequest(getRequestData().clone(), deathDetailsRequestData.clone()); Map<String, Object> stepState; stepState = new HashMap<String, Object>(4); stepState.put("state", "uncomplete"); stepState.put("required", true); stepState.put("errorMsg", null); stepState.put("invalidFields", new ArrayList<String>()); clone.getStepStates().put("nature", stepState); stepState = new HashMap<String, Object>(4); stepState.put("state", "unavailable"); stepState.put("required", true); stepState.put("errorMsg", null); stepState.put("invalidFields", new ArrayList<String>()); clone.getStepStates().put("type", stepState); stepState = new HashMap<String, Object>(4); stepState.put("state", "unavailable"); stepState.put("required", false); stepState.put("errorMsg", null); stepState.put("invalidFields", new ArrayList<String>()); clone.getStepStates().put("document", stepState); stepState = new HashMap<String, Object>(4); stepState.put("state", "unavailable"); stepState.put("required", true); stepState.put("errorMsg", null); stepState.put("invalidFields", new ArrayList<String>()); clone.getStepStates().put("validation", stepState); return clone; }