code: private static Serializable jsonObjectToSerializableType(JSONObject input) {
  		String type = input.optString(Apptentive.Version.KEY_TYPE, null);
  		try {
  			if (type != null) {
  				if (type.equals(Apptentive.Version.TYPE)) {
  					return new Apptentive.Version(input);
  				} else if (type.equals(Apptentive.DateTime.TYPE)) {
  					return new Apptentive.DateTime(input);
  				}
  			}
  		} catch (JSONException e) {
  			ApptentiveLog.e(CONVERSATION, e, "Error migrating JSONObject.");
  			logException(e);
  		}
  		return null;
  	}
docs: Takes a legacy Apptentive Custom Data object base on JSON, and returns the modern serializable version