code: public <S, D> TypeMap<S, D> emptyTypeMap(Class<S> sourceType, Class<D> destinationType) {
      Assert.notNull(sourceType, "sourceType");
      Assert.notNull(destinationType, "destinationType");
      Assert.isNull(config.typeMapStore.get(sourceType, destinationType, null), "TypeMap already defined");
      return config.typeMapStore.createEmptyTypeMap(sourceType, destinationType, null, config, engine);
    }
docs: Creates an empty TypeMap for the {@code sourceType}, {@code destinationType}.
  
  @param <S> source type
  @param <D> destination type
  @throws IllegalArgumentException is {@code sourceType} or {@code destinationType} are null, or {@code TypeMap<SourceType, DestinationType}
  already defined in the TypeMapStore