private ObjectsMapperBaseImpl BuildObjectsMapper( string MapperTypeName, Type from, Type to, IMappingConfigurator mappingConfigurator) { TypeBuilder typeBuilder = DynamicAssemblyManager.DefineMapperType(MapperTypeName); CreateTargetInstanceBuilder.BuildCreateTargetInstanceMethod(to, typeBuilder); var mappingBuilder = new MappingBuilder( this, from, to, typeBuilder, mappingConfigurator ); mappingBuilder.BuildCopyImplMethod(); ObjectsMapperBaseImpl result = (ObjectsMapperBaseImpl)Activator.CreateInstance(typeBuilder.CreateType()); result.Initialize(this, from, to, mappingConfigurator, mappingBuilder.storedObjects.ToArray()); return(result); }