public Map<String, Object> inverseTransform(Map<String, Object> job) { if (job == null) return null; String jobName = (String) job.get(JSON_JOB_NAME_FIELD); Map<String, Object> inverseJob = new LinkedTreeMap<>(); Map<String, Object> jobData = new LinkedTreeMap<>(); addOptionalInt(jobData, job, JSON_JOB_TIMEOUT_FIELD, YAML_JOB_TIMEOUT_FIELD); addInverseRunInstances(jobData, job); Map<String, Object> yamlEnvVariables = environmentTransform.inverseTransform((List<Map<String, Object>>) job.get(JSON_ENV_VAR_FIELD)); if (yamlEnvVariables != null && yamlEnvVariables.size() > 0) jobData.putAll(yamlEnvVariables); addInverseTabs(jobData, job); addOptionalList(jobData, job, JSON_JOB_RESOURCES_FIELD, YAML_JOB_RESOURCES_FIELD); addOptionalValue(jobData, job, JSON_JOB_ELASTIC_PROFILE_FIELD, YAML_JOB_ELASTIC_PROFILE_FIELD); addInverseArtifacts(jobData, job); addInverseProperties(jobData, job); addInverseTasks(jobData, job); inverseJob.put(jobName, jobData); return inverseJob; }