public static String metaPathString(final Map<String, Object> data, final String path, String defaultValue) {
        return metaPathValue(data, path, defaultValue, MapData::asString);
    }
public static String metaPathString ( final Map < String , Object > data , final String path , String defaultValue ) { return metaPathValue ( data , path , defaultValue , MapData :: asString ) ; }
@param data         data
@param path         dot "." separated path string
@param defaultValue default value if path is not found or not the right type
@return String found at the path, or defaultValue