private object GetSecureSeededInitializer(ParsedAssemblyQualifiedName assemblyQualifiedName)
{
// pre-load generic types from correct locations
var seedDataAssemblyPath = Path.Combine(
Path.GetDirectoryName(m_Config.TargetAssemblyPath),
$"{assemblyQualifiedName.GenericParameters[1].ShortAssemblyName}.dll");
var seedDataAssembly = Assembly.LoadFrom(seedDataAssemblyPath);
var seedDataType = seedDataAssembly.GetType(assemblyQualifiedName.GenericParameters[1].TypeName);
var targetContextType = TargetAssembly.GetType(assemblyQualifiedName.GenericParameters[0].TypeName);
var initType = typeof(CreateSecureSeededDatabaseIfNotExists<,>).MakeGenericType(
targetContextType,
seedDataType);
return Activator.CreateInstance(initType);
}