public static List<String> getXMLProperties(String parent) {
        if (openfireProperties == null) {
            loadOpenfireProperties();
        }

        String[] propNames = openfireProperties.getChildrenProperties(parent);
        List<String> values = new ArrayList<>();
        for (String propName : propNames) {
            String value = getXMLProperty(parent + "." + propName);
            if (value != null) {
                values.add(value);
            }
        }
        return values;
    }
Return all immediate children property values of a parent local property as a list of strings,
or an empty list if there are no children. For example, given
the properties {@code X.Y.A}, {@code X.Y.B}, {@code X.Y.C} and {@code X.Y.C.D}, then
the immediate child properties of {@code X.Y} are {@code A}, {@code B}, and
{@code C} (the value of {@code C.D} would not be returned using this method).<p>

Local properties are stored in the file defined in {@code JIVE_CONFIG_FILENAME} that exists
in the {@code home} directory. Properties are always specified as "foo.bar.prop",
which would map to the following entry in the XML file:
<pre>
&lt;foo&gt;
    &lt;bar&gt;
        &lt;prop&gt;some value&lt;/prop&gt;
    &lt;/bar&gt;
&lt;/foo&gt;
</pre>


@param parent the name of the parent property to return the children for.
@return all child property values for the given parent.
xmppserver/src/main/java/org/jivesoftware/util/JiveGlobals.java