maven-resolver-supplier-mvn3/src/main/java/org/eclipse/aether/supplier/RepositorySystemSupplier.java [1033:1121]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    private ModelBuilder modelBuilder;

    public final ModelBuilder getModelBuilder() {
        checkClosed();
        if (modelBuilder == null) {
            modelBuilder = createModelBuilder();
        }
        return modelBuilder;
    }

    protected ModelBuilder createModelBuilder() {
        // from maven-model-builder
        return new DefaultModelBuilderFactory().newInstance();
    }

    private ModelCacheFactory modelCacheFactory;

    public final ModelCacheFactory getModelCacheFactory() {
        checkClosed();
        if (modelCacheFactory == null) {
            modelCacheFactory = createModelCacheFactory();
        }
        return modelCacheFactory;
    }

    protected ModelCacheFactory createModelCacheFactory() {
        // from maven-resolver-provider
        return new DefaultModelCacheFactory();
    }

    private List<ValidatorFactory> validatorFactories;

    public final List<ValidatorFactory> getValidatorFactories() {
        checkClosed();
        if (validatorFactories == null) {
            validatorFactories = createValidatorFactories();
        }
        return validatorFactories;
    }

    protected List<ValidatorFactory> createValidatorFactories() {
        return new ArrayList<>();
    }

    private RepositorySystemValidator repositorySystemValidator;

    public final RepositorySystemValidator getRepositorySystemValidator() {
        checkClosed();
        if (repositorySystemValidator == null) {
            repositorySystemValidator = createRepositorySystemValidator();
        }
        return repositorySystemValidator;
    }

    protected RepositorySystemValidator createRepositorySystemValidator() {
        return new DefaultRepositorySystemValidator(getValidatorFactories());
    }

    private RepositorySystem repositorySystem;

    public final RepositorySystem getRepositorySystem() {
        checkClosed();
        if (repositorySystem == null) {
            repositorySystem = createRepositorySystem();
        }
        return repositorySystem;
    }

    protected RepositorySystem createRepositorySystem() {
        return new DefaultRepositorySystem(
                getVersionResolver(),
                getVersionRangeResolver(),
                getArtifactResolver(),
                getMetadataResolver(),
                getArtifactDescriptorReader(),
                getDependencyCollector(),
                getInstaller(),
                getDeployer(),
                getLocalRepositoryProvider(),
                getSyncContextFactory(),
                getRemoteRepositoryManager(),
                getRepositorySystemLifecycle(),
                getArtifactDecoratorFactories(),
                getRepositorySystemValidator());
    }

    @Override
    public RepositorySystem get() {
        return getRepositorySystem();
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



maven-resolver-supplier-mvn4/src/main/java/org/eclipse/aether/supplier/RepositorySystemSupplier.java [1058:1146]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    private ModelBuilder modelBuilder;

    public final ModelBuilder getModelBuilder() {
        checkClosed();
        if (modelBuilder == null) {
            modelBuilder = createModelBuilder();
        }
        return modelBuilder;
    }

    protected ModelBuilder createModelBuilder() {
        // from maven-model-builder
        return new DefaultModelBuilderFactory().newInstance();
    }

    private ModelCacheFactory modelCacheFactory;

    public final ModelCacheFactory getModelCacheFactory() {
        checkClosed();
        if (modelCacheFactory == null) {
            modelCacheFactory = createModelCacheFactory();
        }
        return modelCacheFactory;
    }

    protected ModelCacheFactory createModelCacheFactory() {
        // from maven-resolver-provider
        return new DefaultModelCacheFactory();
    }

    private List<ValidatorFactory> validatorFactories;

    public final List<ValidatorFactory> getValidatorFactories() {
        checkClosed();
        if (validatorFactories == null) {
            validatorFactories = createValidatorFactories();
        }
        return validatorFactories;
    }

    protected List<ValidatorFactory> createValidatorFactories() {
        return new ArrayList<>();
    }

    private RepositorySystemValidator repositorySystemValidator;

    public final RepositorySystemValidator getRepositorySystemValidator() {
        checkClosed();
        if (repositorySystemValidator == null) {
            repositorySystemValidator = createRepositorySystemValidator();
        }
        return repositorySystemValidator;
    }

    protected RepositorySystemValidator createRepositorySystemValidator() {
        return new DefaultRepositorySystemValidator(getValidatorFactories());
    }

    private RepositorySystem repositorySystem;

    public final RepositorySystem getRepositorySystem() {
        checkClosed();
        if (repositorySystem == null) {
            repositorySystem = createRepositorySystem();
        }
        return repositorySystem;
    }

    protected RepositorySystem createRepositorySystem() {
        return new DefaultRepositorySystem(
                getVersionResolver(),
                getVersionRangeResolver(),
                getArtifactResolver(),
                getMetadataResolver(),
                getArtifactDescriptorReader(),
                getDependencyCollector(),
                getInstaller(),
                getDeployer(),
                getLocalRepositoryProvider(),
                getSyncContextFactory(),
                getRemoteRepositoryManager(),
                getRepositorySystemLifecycle(),
                getArtifactDecoratorFactories(),
                getRepositorySystemValidator());
    }

    @Override
    public RepositorySystem get() {
        return getRepositorySystem();
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



