code: @SuppressWarnings("unchecked")
  	public static synchronized <D,S> IJMapper<D, S> getMapper(final Class<D> destination,final Class<S> source,final ChooseConfig config,final String xml) {
  		
  		String mapperName = mapperClassName(destination, source, xml);
  		
  		if(mapperCache.containsKey(mapperName)) 
  			return (IJMapper<D, S>) mapperCache.get(mapperName);
  			
  		IJMapper<D, S> jmapper = new JMapper<D, S>(destination, source, config, xml);
  		mapperCache.put(mapperName, jmapper);
  		return jmapper;
  	}
docs: Returns an instance of JMapper from cache if exists, in alternative a new instance.
  <br>The configuration evaluated is the one received in input present in the xml configuration.
  
  @param destination the Destination Class
  @param source the Source Class
  @param config the configuration to load
  @param xml xml configuration as content or path format
  @param <D> Destination class
  @param <S> Source Class
  @return the mapper instance