class StrategyInstanceResolver implements InstanceResolver {

    @Override
    public Collection<SagaInstanceInfo> resolve(final LookupContext context) {
        Collection<SagaInstanceInfo> allInstances = new ArrayList<>();
        Collection<ResolveStrategy> resolveStrategies = strategyFinder.find(context);

        for (ResolveStrategy strategy : resolveStrategies) {
            Collection<SagaInstanceInfo> resolvedInstances = strategy.resolve(context);
            allInstances.addAll(resolvedInstances);
        }

        return allInstances;
    }

    @Inject public  StrategyInstanceResolver(final StrategyFinder strategyFinder);

}