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;
  }