private Map<RepositoryType, RepositoryProvider> createProviderMap( ) { Map<RepositoryType, RepositoryProvider> map = new HashMap<>( ); if ( repositoryProviders != null ) { for ( RepositoryProvider provider : repositoryProviders ) { for ( RepositoryType type : provider.provides( ) ) { map.put( type, provider ); } } } return map; }
private RepositoryProvider getProvider( RepositoryType type ) throws RepositoryException { return repositoryProviders.stream( ).filter( repositoryProvider -> repositoryProvider.provides( ).contains( type ) ).findFirst( ).orElseThrow( ( ) -> new RepositoryException( "Repository type cannot be handled: " + type ) ); }