class MsoYamlEditorWithEnvt {

    @SuppressWarnings("unchecked")
    public synchronized Set<MsoHeatEnvironmentParameter> getParameterListFromEnvt() {
        // In an environment entry, the parameters section can only contain the name:value -
        // not other attributes.
        Set<MsoHeatEnvironmentParameter> paramSet = new HashSet<>();
        Map<String, Object> resourceMap = null;
        try {
            resourceMap = (Map<String, Object>) yml.get("parameters");
        } catch (Exception e) {
            logger.debug(EXCEPTION, e);
            return paramSet;
        }
        if (resourceMap == null) {
            return paramSet;
        }

        for (Entry<String, Object> stringObjectEntry : resourceMap.entrySet()) {
            MsoHeatEnvironmentParameter hep = new MsoHeatEnvironmentParameter();
            Entry<String, Object> pair = stringObjectEntry;
            String value;
            Object obj = pair.getValue();
            if (obj instanceof String) {
                value = yaml.dump(obj);
                // but this adds an extra '\n' at the end - which won't hurt - but we don't need it
                value = value.substring(0, value.length() - 1);
            } else if (obj instanceof LinkedHashMap) {
                // Handle that it's json
                try {
                    value = JSON_MAPPER.writeValueAsString(obj);
                } catch (Exception e) {
                    logger.debug(EXCEPTION, e);
                    value = "_BAD_JSON_MAPPING";
                }
            } else {
                // this handles integers/longs/floats/etc.
                value = String.valueOf(obj);
            }
            hep.setName((String) pair.getKey());
            hep.setValue(value);
            paramSet.add(hep);
        }
        return paramSet;
    }

    public  MsoYamlEditorWithEnvt();
    public  MsoYamlEditorWithEnvt(byte[] b);

}