@SuppressWarnings("unchecked") public static <T> T fromJsonIntoClone(String jsonAsString, T pojo) throws JsonException { Map<String, Object> incoming = JsonUtils.fromJsonToMap(jsonAsString); Map<String, Object> existing = JsonUtils.mapify(pojo); existing.putAll(incoming); T clone = (T) unmapify(existing, pojo.getClass()); return clone; }