src/main/java/com/zandero/utils/StringUtils.java
public static <T, V> String join(Map<T, V> map, String separator) {

		if (separator == null || separator.equalsIgnoreCase("")) {
			throw new IllegalArgumentException("Missing separator!");
		}

		StringBuilder output = new StringBuilder();
		if (map != null) {
			for (Object key : map.keySet()) {
				if (output.length() > 0) {
					output.append(separator);
				}

				output.append(key).append("=").append(map.get(key));
			}
		}

		return output.toString();
	}
public static <T, V> String join(Map<T, V> map, String separator) {

		if (separator == null || separator.equalsIgnoreCase("")) {
			throw new IllegalArgumentException("Missing separator!");
		}

		StringBuilder output = new StringBuilder();
		if (map != null) {
			for (Object key : map.keySet()) {
				if (output.length() > 0) {
					output.append(separator);
				}

				output.append(key).append("=").append(map.get(key));
			}
		}

		return output.toString();
	}
Joins list of string items to a single string, where items are separated
with a defined separator.

@param map       to join into key=value list
@param separator to be used between elements
@param <T> key class type
@param <V> value class type
@return map key values joined into a single string