public ResolutionGroup retrieve(final Artifact artifact, final ArtifactRepository localRepository, final List<ArtifactRepository> remoteRepositories)
throws ArtifactMetadataRetrievalException
{
assert delegate != null;
assert repositoryManager != null;
log.trace("Retrieving metadata; artifact={}, local={}, remote={}", new Object[] { artifact, localRepository, remoteRepositories });
ResolutionGroup result = delegate.retrieve(artifact, localRepository, repositoryManager.selectRemoteRepositories(remoteRepositories));
log.trace("Resolution group; pom={}, artifacts={}, repositories={}", new Object[] { result.getPomArtifact(), result.getArtifacts(), result.getResolutionRepositories() });
return new ResolutionGroup(result.getPomArtifact(), result.getArtifacts(), repositoryManager.selectRemoteRepositories(result.getResolutionRepositories()));
}