code: public <S, D> TypeMap<S, D> createTypeMap(S source, Class<D> destinationType,
        Configuration configuration) {
      Assert.notNull(source, "source");
      Assert.notNull(destinationType, "destinationType");
      Assert.notNull(configuration, "configuration");
      return this.<S, D>createTypeMapInternal(source, null, destinationType, null, configuration);
    }
docs: Creates a TypeMap for the {@code source}'s type and {@code destinationType} using the
  {@code configuration}. Useful for creating TypeMaps for generic source data structures.
  
  @param <S> source type
  @param <D> destination type
  @param source
  @param destinationType
  @param configuration to apply to TypeMap
  @throws IllegalArgumentException if {@code source}, {@code destinationType} or
  {@code configuration} are null
  @throws IllegalStateException if a TypeMap already exists for {@code source}'s type and
  {@code destinationType}
  @throws ConfigurationException if the ModelMapper cannot create the TypeMap
  @see #getTypeMap(Class, Class)