protected Repository instantiateRepository(
      final Configuration configuration, final CRepository repositoryModel)
      throws ConfigurationException {
    checkRepositoryMaxInstanceCountForCreation(repositoryModel);

    // create it, will do runtime validation
    Repository repository =
        runtimeConfigurationBuilder.createRepositoryFromModel(configuration, repositoryModel);

    // register with repoRegistry
    repositoryRegistry.addRepository(repository);

    // give it back
    return repository;
  }