class Aether {

    protected AetherResult resolveWithTransitives(Artifact artifact) throws AetherException {
        try {
            CollectRequest collectRequest = new CollectRequest(
                    new Dependency(artifact, scope),
                    repositories()
            );

            DependencyRequest request = new DependencyRequest(collectRequest, null);
            return new AetherResult(system.resolveDependencies(session, request).getArtifactResults());
        } catch (DependencyResolutionException e) {
            throw new AetherException("Can't resolve given artifact " + artifact, e);
        }
    }

      Aether(File localRepoDir, Settings settings);
      Aether(RepositorySystem system, RepositorySystemSession session, List<RemoteRepository> repositories);

}