{
return dominantRepositories;
}
MirrorSelector mirrorSelector = session.getMirrorSelector();
AuthenticationSelector authSelector = session.getAuthenticationSelector();
ProxySelector proxySelector = session.getProxySelector();
List<RemoteRepository> result = new ArrayList<RemoteRepository>( dominantRepositories );
next: for ( RemoteRepository recessiveRepository : recessiveRepositories )
{
RemoteRepository repository = recessiveRepository;
if ( recessiveIsRaw )
{
RemoteRepository mirrorRepository = mirrorSelector.getMirror( recessiveRepository );
repository = ( mirrorRepository != null ) ? mirrorRepository : recessiveRepository;
}
String key = getKey( repository );
for ( ListIterator<RemoteRepository> it = result.listIterator(); it.hasNext(); )
{
RemoteRepository dominantRepository = it.next();
if ( key.equals( getKey( dominantRepository ) ) )
{
if ( !dominantRepository.getMirroredRepositories().isEmpty()
&& !repository.getMirroredRepositories().isEmpty() )
{
RemoteRepository mergedRepository = mergeMirrors( session, dominantRepository, repository );
if ( mergedRepository != dominantRepository )
{
it.set( mergedRepository );
}
}
continue next;
}
}
if ( recessiveIsRaw )
{
repository.setAuthentication( authSelector.getAuthentication( repository ) );
repository.setProxy( proxySelector.getProxy( repository ) );
}
result.add( repository );
}