public Map<String, Object> inverseTransform(Map<String, Object> stage) { if (stage == null) { return stage; } String stageName = (String) stage.get(JSON_STAGE_NAME_FIELD); Map<String, Object> inverseStage = new LinkedTreeMap<>(); Map<String, Object> stageData = new LinkedTreeMap<>(); addOptionalValue(stageData, stage, JSON_STAGE_FETCH_FIELD, YAML_STAGE_FETCH_FIELD); addOptionalValue(stageData, stage, JSON_STAGE_NEVER_CLEAN_FIELD, YAML_STAGE_KEEP_ARTIFACTS_FIELD); addOptionalValue(stageData, stage, JSON_STAGE_CLEAN_WORK_FIELD, YAML_STAGE_CLEAN_WORK_FIELD); addInverseApproval(stageData, stage); Map<String, Object> yamlEnvVariables = environmentTransform.inverseTransform((List<Map<String, Object>>) stage.get(JSON_ENV_VAR_FIELD)); if (yamlEnvVariables != null && yamlEnvVariables.size() > 0) stageData.putAll(yamlEnvVariables); addInverseJobs(stageData, (List<Map<String, Object>>) stage.get(JSON_STAGE_JOBS_FIELD)); inverseStage.put(stageName, stageData); return inverseStage; }