code: private static String getFormat(Map<?, ?> map, int keyPrecision, int valuePrecision) {
  		StringBuilder builder = new StringBuilder();
  		builder.append('{');
  		int mappings = map.keySet().size();
  		int c = 0;
  		for (Object key : map.keySet()) {
  			c++;
  			builder.append(FormatUtils.getIndexedFormat(c, FormatUtils.getFormat(key, keyPrecision).substring(1)));
  			builder.append(VALUE_MAPPING);
  			builder.append(
  					FormatUtils.getIndexedFormat(mappings + c, FormatUtils.getFormat(map.get(key), valuePrecision).substring(1)));
  			if (c < mappings)
  				builder.append(VALUE_SEPARATION);
  		}
  		builder.append('}');
  		return builder.toString();
  	}
docs: Returns a format-String that can be used to generate a String
  representation of a map using the String.format method.
  
  @param map
  Map for which a String representation is desired
  @param keyPrecision
  Desired precision for <code>Float</code> and
  <code>Double</code> elements
  @param valuePrecision
  Desired precision for <code>Float</code> and
  <code>Double</code> elements
  @return Format-String for <code>map</code>
  @see String#format(String, Object...)