code: @SuppressWarnings({ "rawtypes", "unchecked" })
  	protected ISynchronizationPoint<? extends Exception> serializeMapValue(
  		SerializationContext context, Map<?,?> map, TypeDefinition typeDef, String path, List<SerializationRule> rules
  	) {
  		TypeDefinition type = new TypeDefinition(MapEntry.class, typeDef.getParameters());
  		type = new TypeDefinition(ArrayList.class, type);
  		ArrayList<MapEntry> entries = new ArrayList<>(map.size());
  		for (Map.Entry e : map.entrySet()) {
  			MapEntry me = new MapEntry();
  			me.key = e.getKey();
  			me.value = e.getValue();
  			entries.add(me);
  		}
  		return serializeValue(context, entries, type, path, rules);
  	}
docs: *** Map ***