diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/BatchConfiguration.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/BatchConfiguration.java
index 481578d01f742a0aa31779cf2c502dc7364d36c2..65ca6a695e0d858fa021de9691ce7c38c7ecbf6a 100644
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/BatchConfiguration.java
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/BatchConfiguration.java
@@ -61,7 +61,6 @@ import org.springframework.batch.core.configuration.annotation.EnableBatchProces
 import org.springframework.batch.core.configuration.annotation.JobBuilderFactory;
 import org.springframework.batch.core.configuration.annotation.StepBuilderFactory;
 import org.springframework.batch.core.launch.support.RunIdIncrementer;
-import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
@@ -115,49 +114,6 @@ public class BatchConfiguration
 	final DestinationTemplateRepository destinationTemplateRepository;
 	final DestinationTemplateGroupRepository destinationTemplateGroupRepository;
 
-	@SuppressWarnings("squid:S107")
-	public BatchConfiguration(JobBuilderFactory jobBuilderFactory, StepBuilderFactory stepBuilderFactory, EntityManager entityManager, DataSource primaryDataSource, DestinationImageRepository destinationImageRepository, DestinationIconRepository destinationIconRepository, DestinationCategoryRepository destinationCategoryRepository, DestinationAccountRepository destinationAccountRepository, DestinationChartRepository destinationChartRepository, DestinationHintRepository destinationHintRepository, DestinationRepeatingEndRepository destinationRepeatingEndRepository, DestinationRepeatingEndAfterXTimesRepository destinationRepeatingEndAfterXTimesRepository, DestinationRepeatingEndDateRepository destinationRepeatingEndDateRepository, DestinationRepeatingEndNeverRepository destinationRepeatingEndNeverRepository, DestinationRepeatingModifierRepository destinationRepeatingModifierRepository, DestinationRepeatingModifierDaysRepository destinationRepeatingModifierDaysRepository, DestinationRepeatingModifierMonthsRepository destinationRepeatingModifierMonthsRepository, DestinationRepeatingModifierYearsRepository destinationRepeatingModifierYearsRepository, DestinationRepeatingOptionRepository destinationRepeatingOptionRepository, DestinationReportColumnRepository destinationReportColumnRepository, DestinationReportSettingsRepository destinationReportSettingsRepository, DestinationSettingsRepository destinationSettingsRepository, DestinationTagRepository destinationTagRepository, DestinationTemplateTagRepository destinationTemplateTagRepository, DestinationTransactionTagRepository destinationTransactionTagRepository, DestinationUserRepository destinationUserRepository, DestinationTransactionRepository destinationTransactionRepository, DestinationTemplateRepository destinationTemplateRepository, DestinationTemplateGroupRepository destinationTemplateGroupRepository)
-	{
-		this.jobBuilderFactory = jobBuilderFactory;
-		this.stepBuilderFactory = stepBuilderFactory;
-		this.entityManager = entityManager;
-		this.primaryDataSource = primaryDataSource;
-
-		this.destinationImageRepository = destinationImageRepository;
-		this.destinationIconRepository = destinationIconRepository;
-		this.destinationCategoryRepository = destinationCategoryRepository;
-		this.destinationAccountRepository = destinationAccountRepository;
-		this.destinationChartRepository = destinationChartRepository;
-		this.destinationHintRepository = destinationHintRepository;
-
-		this.destinationRepeatingEndRepository = destinationRepeatingEndRepository;
-		this.destinationRepeatingEndAfterXTimesRepository = destinationRepeatingEndAfterXTimesRepository;
-		this.destinationRepeatingEndDateRepository = destinationRepeatingEndDateRepository;
-		this.destinationRepeatingEndNeverRepository = destinationRepeatingEndNeverRepository;
-
-		this.destinationRepeatingModifierRepository = destinationRepeatingModifierRepository;
-		this.destinationRepeatingModifierDaysRepository = destinationRepeatingModifierDaysRepository;
-		this.destinationRepeatingModifierMonthsRepository = destinationRepeatingModifierMonthsRepository;
-		this.destinationRepeatingModifierYearsRepository = destinationRepeatingModifierYearsRepository;
-
-		this.destinationRepeatingOptionRepository = destinationRepeatingOptionRepository;
-
-		this.destinationReportColumnRepository = destinationReportColumnRepository;
-		this.destinationReportSettingsRepository = destinationReportSettingsRepository;
-
-		this.destinationSettingsRepository = destinationSettingsRepository;
-
-		this.destinationTagRepository = destinationTagRepository;
-		this.destinationTemplateTagRepository = destinationTemplateTagRepository;
-		this.destinationTransactionTagRepository = destinationTransactionTagRepository;
-
-		this.destinationUserRepository = destinationUserRepository;
-		this.destinationTransactionRepository = destinationTransactionRepository;
-
-		this.destinationTemplateRepository = destinationTemplateRepository;
-		this.destinationTemplateGroupRepository = destinationTemplateGroupRepository;
-	}
-
 	public void cleanDatabase()
 	{
 		LOGGER.debug(">>> Cleanup database...");
@@ -271,7 +227,7 @@ public class BatchConfiguration
 				.processor(new GenericDoNothingProcessor<>())
 				.writer(new GenericWriter<>(destinationImageRepository))
 				.listener(new GenericChunkListener(TableNames.IMAGE))
-				.listener(new GenericStepListener(TableNames.IMAGE, entityManager, destinationImageRepository))
+				.listener(new GenericStepListener<>(TableNames.IMAGE, entityManager, destinationImageRepository))
 				.allowStartIfComplete(true)
 				.build();
 	}
@@ -285,7 +241,7 @@ public class BatchConfiguration
 				.processor(new GenericDoNothingProcessor<>())
 				.writer(new GenericWriter<>(destinationIconRepository))
 				.listener(new GenericChunkListener(TableNames.ICON))
-				.listener(new GenericStepListener(TableNames.ICON, entityManager, destinationIconRepository))
+				.listener(new GenericStepListener<>(TableNames.ICON, entityManager, destinationIconRepository))
 				.allowStartIfComplete(true)
 				.build();
 	}
@@ -299,7 +255,7 @@ public class BatchConfiguration
 				.processor(new GenericDoNothingProcessor<>())
 				.writer(new GenericWriter<>(destinationCategoryRepository))
 				.listener(new GenericChunkListener(TableNames.CATEGORY))
-				.listener(new GenericStepListener(TableNames.CATEGORY, entityManager, destinationCategoryRepository))
+				.listener(new GenericStepListener<>(TableNames.CATEGORY, entityManager, destinationCategoryRepository))
 				.allowStartIfComplete(true)
 				.build();
 	}
@@ -313,7 +269,7 @@ public class BatchConfiguration
 				.processor(new GenericDoNothingProcessor<>())
 				.writer(new GenericWriter<>(destinationAccountRepository))
 				.listener(new GenericChunkListener(TableNames.ACCOUNT))
-				.listener(new GenericStepListener(TableNames.ACCOUNT, entityManager, destinationAccountRepository))
+				.listener(new GenericStepListener<>(TableNames.ACCOUNT, entityManager, destinationAccountRepository))
 				.allowStartIfComplete(true)
 				.build();
 	}
@@ -327,7 +283,7 @@ public class BatchConfiguration
 				.processor(new GenericDoNothingProcessor<>())
 				.writer(new GenericWriter<>(destinationChartRepository))
 				.listener(new GenericChunkListener(TableNames.CHART))
-				.listener(new GenericStepListener(TableNames.CHART, entityManager, destinationChartRepository))
+				.listener(new GenericStepListener<>(TableNames.CHART, entityManager, destinationChartRepository))
 				.allowStartIfComplete(true)
 				.build();
 	}
@@ -341,7 +297,7 @@ public class BatchConfiguration
 				.processor(new GenericDoNothingProcessor<>())
 				.writer(new GenericWriter<>(destinationHintRepository))
 				.listener(new GenericChunkListener(TableNames.HINT))
-				.listener(new GenericStepListener(TableNames.HINT, entityManager, destinationHintRepository))
+				.listener(new GenericStepListener<>(TableNames.HINT, entityManager, destinationHintRepository))
 				.allowStartIfComplete(true)
 				.build();
 	}
@@ -355,7 +311,7 @@ public class BatchConfiguration
 				.processor(new GenericDoNothingProcessor<>())
 				.writer(new GenericWriter<>(destinationRepeatingEndRepository))
 				.listener(new GenericChunkListener(TableNames.REPEATING_END))
-				.listener(new GenericStepListener(TableNames.REPEATING_END, entityManager, destinationRepeatingEndRepository))
+				.listener(new GenericStepListener<>(TableNames.REPEATING_END, entityManager, destinationRepeatingEndRepository))
 				.allowStartIfComplete(true)
 				.build();
 	}
@@ -369,7 +325,7 @@ public class BatchConfiguration
 				.processor(new GenericDoNothingProcessor<>())
 				.writer(new GenericWriter<>(destinationRepeatingEndAfterXTimesRepository))
 				.listener(new GenericChunkListener(TableNames.REPEATING_END_AFTER_X_TIMES))
-				.listener(new GenericStepListener(TableNames.REPEATING_END_AFTER_X_TIMES, entityManager, destinationRepeatingEndAfterXTimesRepository))
+				.listener(new GenericStepListener<>(TableNames.REPEATING_END_AFTER_X_TIMES, entityManager, destinationRepeatingEndAfterXTimesRepository))
 				.allowStartIfComplete(true)
 				.build();
 	}
@@ -383,7 +339,7 @@ public class BatchConfiguration
 				.processor(new GenericDoNothingProcessor<>())
 				.writer(new GenericWriter<>(destinationRepeatingEndDateRepository))
 				.listener(new GenericChunkListener(TableNames.REPEATING_END_DATE))
-				.listener(new GenericStepListener(TableNames.REPEATING_END_DATE, entityManager, destinationRepeatingEndDateRepository))
+				.listener(new GenericStepListener<>(TableNames.REPEATING_END_DATE, entityManager, destinationRepeatingEndDateRepository))
 				.allowStartIfComplete(true)
 				.build();
 	}
@@ -397,7 +353,7 @@ public class BatchConfiguration
 				.processor(new GenericDoNothingProcessor<>())
 				.writer(new GenericWriter<>(destinationRepeatingEndNeverRepository))
 				.listener(new GenericChunkListener(TableNames.REPEATING_END_NEVER))
-				.listener(new GenericStepListener(TableNames.REPEATING_END_NEVER, entityManager, destinationRepeatingEndNeverRepository))
+				.listener(new GenericStepListener<>(TableNames.REPEATING_END_NEVER, entityManager, destinationRepeatingEndNeverRepository))
 				.allowStartIfComplete(true)
 				.build();
 	}
@@ -411,7 +367,7 @@ public class BatchConfiguration
 				.processor(new GenericDoNothingProcessor<>())
 				.writer(new GenericWriter<>(destinationRepeatingModifierRepository))
 				.listener(new GenericChunkListener(TableNames.REPEATING_MODIFIER))
-				.listener(new GenericStepListener(TableNames.REPEATING_MODIFIER, entityManager, destinationRepeatingModifierRepository))
+				.listener(new GenericStepListener<>(TableNames.REPEATING_MODIFIER, entityManager, destinationRepeatingModifierRepository))
 				.allowStartIfComplete(true)
 				.build();
 	}
@@ -425,7 +381,7 @@ public class BatchConfiguration
 				.processor(new GenericDoNothingProcessor<>())
 				.writer(new GenericWriter<>(destinationRepeatingModifierDaysRepository))
 				.listener(new GenericChunkListener(TableNames.REPEATING_MODIFIER_DAYS))
-				.listener(new GenericStepListener(TableNames.REPEATING_MODIFIER_DAYS, entityManager, destinationRepeatingModifierDaysRepository))
+				.listener(new GenericStepListener<>(TableNames.REPEATING_MODIFIER_DAYS, entityManager, destinationRepeatingModifierDaysRepository))
 				.allowStartIfComplete(true)
 				.build();
 	}
@@ -439,7 +395,7 @@ public class BatchConfiguration
 				.processor(new GenericDoNothingProcessor<>())
 				.writer(new GenericWriter<>(destinationRepeatingModifierMonthsRepository))
 				.listener(new GenericChunkListener(TableNames.REPEATING_MODIFIER_MONTHS))
-				.listener(new GenericStepListener(TableNames.REPEATING_MODIFIER_MONTHS, entityManager, destinationRepeatingModifierMonthsRepository))
+				.listener(new GenericStepListener<>(TableNames.REPEATING_MODIFIER_MONTHS, entityManager, destinationRepeatingModifierMonthsRepository))
 				.allowStartIfComplete(true)
 				.build();
 	}
@@ -453,7 +409,7 @@ public class BatchConfiguration
 				.processor(new GenericDoNothingProcessor<>())
 				.writer(new GenericWriter<>(destinationRepeatingModifierYearsRepository))
 				.listener(new GenericChunkListener(TableNames.REPEATING_MODIFIER_YEARS))
-				.listener(new GenericStepListener(TableNames.REPEATING_MODIFIER_YEARS, entityManager, destinationRepeatingModifierYearsRepository))
+				.listener(new GenericStepListener<>(TableNames.REPEATING_MODIFIER_YEARS, entityManager, destinationRepeatingModifierYearsRepository))
 				.allowStartIfComplete(true)
 				.build();
 	}
@@ -467,7 +423,7 @@ public class BatchConfiguration
 				.processor(new GenericDoNothingProcessor<>())
 				.writer(new GenericWriter<>(destinationRepeatingOptionRepository))
 				.listener(new GenericChunkListener(TableNames.REPEATING_OPTION))
-				.listener(new GenericStepListener(TableNames.REPEATING_OPTION, entityManager, destinationRepeatingOptionRepository))
+				.listener(new GenericStepListener<>(TableNames.REPEATING_OPTION, entityManager, destinationRepeatingOptionRepository))
 				.allowStartIfComplete(true)
 				.build();
 	}
@@ -481,7 +437,7 @@ public class BatchConfiguration
 				.processor(new GenericDoNothingProcessor<>())
 				.writer(new GenericWriter<>(destinationReportColumnRepository))
 				.listener(new GenericChunkListener(TableNames.REPORT_COLUMN))
-				.listener(new GenericStepListener(TableNames.REPORT_COLUMN, entityManager, destinationReportColumnRepository))
+				.listener(new GenericStepListener<>(TableNames.REPORT_COLUMN, entityManager, destinationReportColumnRepository))
 				.allowStartIfComplete(true)
 				.build();
 	}
@@ -495,7 +451,7 @@ public class BatchConfiguration
 				.processor(new GenericDoNothingProcessor<>())
 				.writer(new GenericWriter<>(destinationReportSettingsRepository))
 				.listener(new GenericChunkListener(TableNames.REPORT_SETTINGS))
-				.listener(new GenericStepListener(TableNames.REPORT_SETTINGS, entityManager, destinationReportSettingsRepository))
+				.listener(new GenericStepListener<>(TableNames.REPORT_SETTINGS, entityManager, destinationReportSettingsRepository))
 				.allowStartIfComplete(true)
 				.build();
 	}
@@ -509,7 +465,7 @@ public class BatchConfiguration
 				.processor(new GenericDoNothingProcessor<>())
 				.writer(new GenericWriter<>(destinationSettingsRepository))
 				.listener(new GenericChunkListener(TableNames.SETTINGS))
-				.listener(new GenericStepListener(TableNames.SETTINGS, entityManager, destinationSettingsRepository))
+				.listener(new GenericStepListener<>(TableNames.SETTINGS, entityManager, destinationSettingsRepository))
 				.allowStartIfComplete(true)
 				.build();
 	}
@@ -523,7 +479,7 @@ public class BatchConfiguration
 				.processor(new GenericDoNothingProcessor<>())
 				.writer(new GenericWriter<>(destinationTagRepository))
 				.listener(new GenericChunkListener(TableNames.TAG))
-				.listener(new GenericStepListener(TableNames.TAG, entityManager, destinationTagRepository))
+				.listener(new GenericStepListener<>(TableNames.TAG, entityManager, destinationTagRepository))
 				.allowStartIfComplete(true)
 				.build();
 	}
@@ -537,7 +493,7 @@ public class BatchConfiguration
 				.processor(new GenericDoNothingProcessor<>())
 				.writer(new GenericWriter<>(destinationTemplateTagRepository))
 				.listener(new GenericChunkListener(TableNames.TEMPLATE_TAGS))
-				.listener(new GenericStepListener(TableNames.TEMPLATE_TAGS, entityManager, destinationTemplateTagRepository))
+				.listener(new GenericStepListener<>(TableNames.TEMPLATE_TAGS, entityManager, destinationTemplateTagRepository))
 				.allowStartIfComplete(true)
 				.build();
 	}
@@ -551,7 +507,7 @@ public class BatchConfiguration
 				.processor(new GenericDoNothingProcessor<>())
 				.writer(new GenericWriter<>(destinationTransactionTagRepository))
 				.listener(new GenericChunkListener(TableNames.TRANSACTION_TAGS))
-				.listener(new GenericStepListener(TableNames.TRANSACTION_TAGS, entityManager, destinationTransactionTagRepository))
+				.listener(new GenericStepListener<>(TableNames.TRANSACTION_TAGS, entityManager, destinationTransactionTagRepository))
 				.allowStartIfComplete(true)
 				.build();
 	}
@@ -565,7 +521,7 @@ public class BatchConfiguration
 				.processor(new GenericDoNothingProcessor<>())
 				.writer(new GenericWriter<>(destinationUserRepository))
 				.listener(new GenericChunkListener(TableNames.USER_SOURCE))
-				.listener(new GenericStepListener(TableNames.USER_SOURCE, entityManager, destinationUserRepository))
+				.listener(new GenericStepListener<>(TableNames.USER_SOURCE, entityManager, destinationUserRepository))
 				.allowStartIfComplete(true)
 				.build();
 	}
@@ -579,7 +535,7 @@ public class BatchConfiguration
 				.processor(new GenericDoNothingProcessor<>())
 				.writer(new GenericWriter<>(destinationTransactionRepository))
 				.listener(new GenericChunkListener(TableNames.TRANSACTION))
-				.listener(new GenericStepListener(TableNames.TRANSACTION, entityManager, destinationTransactionRepository))
+				.listener(new GenericStepListener<>(TableNames.TRANSACTION, entityManager, destinationTransactionRepository))
 				.allowStartIfComplete(true)
 				.build();
 	}
@@ -593,7 +549,7 @@ public class BatchConfiguration
 				.processor(new GenericDoNothingProcessor<>())
 				.writer(new GenericWriter<>(destinationTemplateRepository))
 				.listener(new GenericChunkListener(TableNames.TEMPLATE))
-				.listener(new GenericStepListener(TableNames.TEMPLATE, entityManager, destinationTemplateRepository))
+				.listener(new GenericStepListener<>(TableNames.TEMPLATE, entityManager, destinationTemplateRepository))
 				.allowStartIfComplete(true)
 				.build();
 	}
@@ -607,7 +563,7 @@ public class BatchConfiguration
 				.processor(new GenericDoNothingProcessor<>())
 				.writer(new GenericWriter<>(destinationTemplateGroupRepository))
 				.listener(new GenericChunkListener(TableNames.TEMPLATE_GROUP))
-				.listener(new GenericStepListener(TableNames.TEMPLATE_GROUP, entityManager, destinationTemplateGroupRepository))
+				.listener(new GenericStepListener<>(TableNames.TEMPLATE_GROUP, entityManager, destinationTemplateGroupRepository))
 				.allowStartIfComplete(true)
 				.build();
 	}
diff --git a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/listener/GenericStepListener.java b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/listener/GenericStepListener.java
index 2dd0f3522cf9ada3b7536c794d0179b779be0f9b..cea6c86f45b375e5cdcfded1a64ed67325b078dc 100644
--- a/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/listener/GenericStepListener.java
+++ b/BudgetMasterDatabaseMigrator/src/main/java/de/deadlocker8/budgetmaster/databasemigrator/listener/GenericStepListener.java
@@ -1,7 +1,7 @@
 package de.deadlocker8.budgetmaster.databasemigrator.listener;
 
-import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
 import de.deadlocker8.budgetmaster.databasemigrator.Utils;
+import de.deadlocker8.budgetmaster.databasemigrator.destination.DestinationRepository;
 import de.deadlocker8.budgetmaster.databasemigrator.destination.ProvidesID;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -67,5 +67,4 @@ public class GenericStepListener<T extends ProvidesID> implements StepExecutionL
 
 		return itemsOrderedByID.get(0).getID();
 	}
-
 }