public JsonObject transform(String jobName, Map<String, Object> jobMap) {
JsonObject jobJson = new JsonObject();
jobJson.addProperty(JSON_JOB_NAME_FIELD, jobName);
addOptionalInteger(jobJson, jobMap, JSON_JOB_TIMEOUT_FIELD, YAML_JOB_TIMEOUT_FIELD);
addRunInstances(jobMap, jobJson);
JsonArray jsonEnvVariables = environmentTransform.transform(jobMap);
if (jsonEnvVariables != null && jsonEnvVariables.size() > 0)
jobJson.add(JSON_ENV_VAR_FIELD, jsonEnvVariables);
addTabs(jobJson, jobMap);
addOptionalStringList(jobJson, jobMap, JSON_JOB_RESOURCES_FIELD, YAML_JOB_RESOURCES_FIELD);
addOptionalString(jobJson, jobMap, JSON_JOB_ELASTIC_PROFILE_FIELD, YAML_JOB_ELASTIC_PROFILE_FIELD);
addArtifacts(jobJson, jobMap);
addProperties(jobJson, jobMap);
addTasks(jobJson, jobMap);
return jobJson;
}