public static <V> String replace(final Object source, final Map<String, V> valueMap) {
        return new StrSubstitutor(valueMap).replace(source);
    }
public static < V > String replace ( final Object source , final Map < String , V > valueMap ) { return new StrSubstitutor ( valueMap ) . replace ( source ) ; }
Replaces all the occurrences of variables in the given source object with
their matching values from the map.

@param <V> the type of the values in the map
@param source  the source text containing the variables to substitute, null returns null
@param valueMap  the map with the values, may be null
@return the result of the replace operation