class StrategyResolverService {

    List<BackupStrategyWrapper> getStrategies( SelectedBackupProtocol selectedBackupProtocol )
    {
        switch ( selectedBackupProtocol )
        {
        case ANY:
            return Arrays.asList( ccBackupStrategy, haBackupStrategy );
        case COMMON:
            return Collections.singletonList( haBackupStrategy );
        case CATCHUP:
            return Collections.singletonList( ccBackupStrategy );
        default:
            throw new IllegalArgumentException( "Unhandled protocol choice: " + selectedBackupProtocol );
        }
    }

      StrategyResolverService( BackupStrategyWrapper haBackupStrategy, BackupStrategyWrapper ccBackupStrategy );

}