protected void processMap(Map<String, Object> finalMap, Map map, String prefix) {
        for (Object o : map.entrySet()) {
            Map.Entry entry = (Map.Entry) o;
            String key = entry.getKey().toString();
            Object value = entry.getValue();
            if (value instanceof Map && !((Map) value).isEmpty()) {
                processMap(finalMap, (Map) value, prefix + key + '.');
            } else {
                finalMap.put(prefix + key, value);
            }
        }
    }
protected void processMap ( Map < String , Object > finalMap , Map map , String prefix ) { for ( Object o : map . entrySet ( ) ) { Map . Entry entry = ( Map . Entry ) o ; String key = entry . getKey ( ) . toString ( ) ; Object value = entry . getValue ( ) ; if ( value instanceof Map && ! ( ( Map ) value ) . isEmpty ( ) ) { processMap ( finalMap , ( Map ) value , prefix + key + '.' ) ; } else { finalMap . put ( prefix + key , value ) ; } } }
@param finalMap The map with all the properties processed
@param map      The map to process
@param prefix   The prefix for the keys