@Bean
public TaskCompletionProvider taskCompletionProvider() {
List<RecoveryStrategy<?>> recoveryStrategies = Arrays.<RecoveryStrategy<?>>asList(
emptyStartYieldsAppsTaskRecoveryStrategy(), expandOneDashToTwoDashesTaskRecoveryStrategy(),
configurationPropertyNameAfterDashDashTaskRecoveryStrategy(),
unfinishedConfigurationPropertyNameTaskRecoveryStrategy(),
configurationPropertyValueHintTaskRecoveryStrategy());
List<TaskExpansionStrategy> expansionStrategies = Arrays.asList(addTaskAppOptionsExpansionStrategy(),
unfinishedTaskAppNameExpansionStrategy(),
taskConfigurationPropertyValueHintExpansionStrategy());
return new TaskCompletionProvider(recoveryStrategies, expansionStrategies);
}