code: @Override
      public Collection<Class<? extends Saga>> scanForSagas() {
          Set<Class<? extends Saga>> sagaTypes = reflections.getSubTypesOf(Saga.class);
  
          // separate searches in case saga-lib is in embedded jar when performing directory scanning
          Set<Class<? extends AbstractSaga>> abstractSagaTypes = reflections.getSubTypesOf(AbstractSaga.class);
          Set<Class<? extends AbstractSingleEventSaga>> singleEventSagaTypes = reflections.getSubTypesOf(AbstractSingleEventSaga.class);
  
          Set<Class<? extends Saga>> foundTypes = Sets.union(sagaTypes, abstractSagaTypes);
          Set<Class<? extends Saga>> mergedSet = Sets.union(foundTypes, copy(singleEventSagaTypes));
  
          return removeAbstractTypes(mergedSet);
      }
docs: {@inheritDoc}