class ArchetypeServiceImpl implements ArchetypeService {

    void throwMavenExecutionException(final List<Throwable> exceptions) {
        if (exceptions.isEmpty()) {
            throw new MavenExecutionException();
        } else {
            final String message = exceptions.stream()
                    .map(Throwable::getMessage)
                    .collect(Collectors.joining(","));
            throw new MavenExecutionException(message);
        }
    }

    public  ArchetypeServiceImpl();
    @Inject public  ArchetypeServiceImpl(final @Named("ioStrategy") IOService ioService,
                                final RepositoryService repositoryService,
                                final OrganizationalUnitService ouService,
                                final Event<ArchetypeListUpdatedEvent> archetypeListUpdatedEvent,
                                final ArchetypeConfigStorage archetypeConfigStorage,
                                final PathUtil pathUtil,
                                final ArchetypePreferencesManager archetypePreferencesManager,
                                final KieModuleService moduleService,
                                final POMService pomService);

}