fluid-api/src/main/java/com/fluidbpm/program/api/vo/historic/FormHistoricData.java
@Override
	public JSONObject toJsonObject() throws JSONException {
		JSONObject returnVal = super.toJsonObject();

		//Date...
		if(this.getDate() != null) {
			returnVal.put(JSONMapping.DATE,
					this.getDateAsLongFromJson(this.getDate()));
		}

		//Date and Time Field Name...
		if(this.getDateAndFieldName() != null) {
			returnVal.put(JSONMapping.DATE_AND_FIELD_NAME,
					this.getDateAndFieldName());
		}

		//Form Container Field Values JSON...
		if(this.getFormContainerFieldValuesJSON() != null) {
			returnVal.put(JSONMapping.FORM_CONTAINER_FIELD_VALUES_JSON,
					this.getFormContainerFieldValuesJSON());
		}

		//Log Entry Type...
		if(this.getLogEntryType() != null) {
			returnVal.put(JSONMapping.LOG_ENTRY_TYPE,
					this.getLogEntryType());
		}

		//Description...
		if(this.getDescription() != null) {
			returnVal.put(JSONMapping.DESCRIPTION,
					this.getDescription());
		}

		//Historic Entry Type...
		if(this.getHistoricEntryType() != null) {
			returnVal.put(JSONMapping.HISTORIC_ENTRY_TYPE,
					this.getHistoricEntryType());
		}

		//User...
		if(this.getUser() != null) {
			returnVal.put(JSONMapping.USER,
					this.getUser().toJsonObject());
		}

		//Field...
		if(this.getField() != null) {
			returnVal.put(JSONMapping.FIELD,
					this.getField().toJsonObject());
		}

		//Different from Previous...
		if(this.getIsFieldDifferentFromPrevious() != null) {
			returnVal.put(JSONMapping.IS_FIELD_DIFFERENT_FROM_PREVIOUS,
					this.getIsFieldDifferentFromPrevious());
		}

		//Field type Signature...
		if(this.getIsFieldTypeSignature() != null) {
			returnVal.put(JSONMapping.IS_FIELD_TYPE_SIGNATURE,
					this.getIsFieldTypeSignature());
		}

		//Escape Text...
		if(this.getIsEscapeText() != null) {
			returnVal.put(
					JSONMapping.IS_ESCAPE_TEXT,
					this.getIsEscapeText());
		}

		return returnVal;
	}
@Override
	public JSONObject toJsonObject() throws JSONException {
		JSONObject returnVal = super.toJsonObject();

		//Date...
		if(this.getDate() != null) {
			returnVal.put(JSONMapping.DATE,
					this.getDateAsLongFromJson(this.getDate()));
		}

		//Date and Time Field Name...
		if(this.getDateAndFieldName() != null) {
			returnVal.put(JSONMapping.DATE_AND_FIELD_NAME,
					this.getDateAndFieldName());
		}

		//Form Container Field Values JSON...
		if(this.getFormContainerFieldValuesJSON() != null) {
			returnVal.put(JSONMapping.FORM_CONTAINER_FIELD_VALUES_JSON,
					this.getFormContainerFieldValuesJSON());
		}

		//Log Entry Type...
		if(this.getLogEntryType() != null) {
			returnVal.put(JSONMapping.LOG_ENTRY_TYPE,
					this.getLogEntryType());
		}

		//Description...
		if(this.getDescription() != null) {
			returnVal.put(JSONMapping.DESCRIPTION,
					this.getDescription());
		}

		//Historic Entry Type...
		if(this.getHistoricEntryType() != null) {
			returnVal.put(JSONMapping.HISTORIC_ENTRY_TYPE,
					this.getHistoricEntryType());
		}

		//User...
		if(this.getUser() != null) {
			returnVal.put(JSONMapping.USER,
					this.getUser().toJsonObject());
		}

		//Field...
		if(this.getField() != null) {
			returnVal.put(JSONMapping.FIELD,
					this.getField().toJsonObject());
		}

		//Different from Previous...
		if(this.getIsFieldDifferentFromPrevious() != null) {
			returnVal.put(JSONMapping.IS_FIELD_DIFFERENT_FROM_PREVIOUS,
					this.getIsFieldDifferentFromPrevious());
		}

		//Field type Signature...
		if(this.getIsFieldTypeSignature() != null) {
			returnVal.put(JSONMapping.IS_FIELD_TYPE_SIGNATURE,
					this.getIsFieldTypeSignature());
		}

		//Escape Text...
		if(this.getIsEscapeText() != null) {
			returnVal.put(
					JSONMapping.IS_ESCAPE_TEXT,
					this.getIsEscapeText());
		}

		return returnVal;
	}
Conversion to {@code JSONObject} from Java Object.

@return {@code JSONObject} representation of {@code FormFlowHistoricData}.
@throws JSONException If there is a problem with the JSON Body.

@see ABaseFluidJSONObject#toJsonObject()