private Element marshallProperty(XmlConfigPropertyAdapted propertyObj) {
    String name = propertyObj.getName();
    Boolean array = propertyObj.getArray();
    Boolean encrypted = propertyObj.isEncrypted();
    ConfigPropertyType cpt = propertyObj.getType();
    String[] values = propertyObj.getValues();

    if (values != null) {
      Element property =
          mashallDoc.createElement(ESF_NAMESPACE + ":" + CONFIGURATIONS_CONFIGURATION_PROPERTY);
      Attr attName = mashallDoc.createAttribute(CONFIGURATIONS_CONFIGURATION_PROPERTY_NAME);
      attName.setNodeValue(name);
      property.setAttributeNode(attName);

      Attr attArray = mashallDoc.createAttribute(CONFIGURATIONS_CONFIGURATION_PROPERTY_ARRAY);
      attArray.setNodeValue(array.toString());
      property.setAttributeNode(attArray);

      Attr attEncrypted =
          mashallDoc.createAttribute(CONFIGURATIONS_CONFIGURATION_PROPERTY_ENCRYPTED);
      attEncrypted.setNodeValue(encrypted.toString());
      property.setAttributeNode(attEncrypted);

      Attr attType = mashallDoc.createAttribute(CONFIGURATIONS_CONFIGURATION_PROPERTY_TYPE);

      attType.setNodeValue(getStringValue(cpt));
      property.setAttributeNode(attType);

      for (String value : values) {
        Element valueElem =
            mashallDoc.createElement(
                ESF_NAMESPACE + ":" + CONFIGURATIONS_CONFIGURATION_PROPERTY_VALUE);
        valueElem.setTextContent(value);
        property.appendChild(valueElem);
      }
      return property;
    }
    return null;
  }
  private XmlConfigPropertyAdapted parseProperty(Element property) {
    NodeList valuesList = property.getChildNodes();
    Element[] valuesArray = getElementNodes(valuesList);
    String[] values = new String[valuesArray.length];

    // get values
    for (int valIndex = 0; valIndex < valuesArray.length; valIndex++) {
      values[valIndex] = valuesArray[valIndex].getTextContent();
    }

    String name = property.getAttribute(CONFIGURATIONS_CONFIGURATION_PROPERTY_NAME);
    String type = property.getAttribute(CONFIGURATIONS_CONFIGURATION_PROPERTY_TYPE);
    String array = property.getAttribute(CONFIGURATIONS_CONFIGURATION_PROPERTY_ARRAY);
    String encrypted = property.getAttribute(CONFIGURATIONS_CONFIGURATION_PROPERTY_ENCRYPTED);

    ConfigPropertyType cct = getType(type);

    XmlConfigPropertyAdapted xmlProperty = new XmlConfigPropertyAdapted(name, cct, values);
    xmlProperty.setArray(Boolean.parseBoolean(array));
    xmlProperty.setEncrypted(Boolean.parseBoolean(encrypted));

    return xmlProperty;
  }