@Override protected <R> Aggregate<R> doCreateNew(Class<R> aggregateType, Callable<R> factoryMethod) throws Exception { if (repositoryProvider == null) { throw new AxonConfigurationException(format( "Since repository provider is not provided, we cannot spawn a new aggregate for %s", aggregateType.getName())); } Repository<R> repository = repositoryProvider.repositoryFor(aggregateType); if (repository == null) { throw new IllegalStateException(format("There is no configured repository for %s", aggregateType.getName())); } return repository.newInstance(factoryMethod); }