code: public <S, D> TypeMap<S, D> typeMap(Class<S> sourceType, Class<D> destinationType) {
      Assert.notNull(sourceType, "sourceType");
      Assert.notNull(destinationType, "destinationType");
      return config.typeMapStore.getOrCreate(null, sourceType, destinationType, null, engine);
    }
docs: Returns the TypeMap for the {@code sourceType}, {@code destinationType}, creates TypeMap
  automatically if none exists.
  
  @param <S> source type
  @param <D> destination type
  @throws IllegalArgumentException is {@code sourceType}, {@code destinationType} are null