Iterable<Projection> sourceProjections,
CachePolicy defaultCachePolicy ) {
CheckArg.isNotEmpty(repositoryName, "repositoryName");
CheckArg.isNotNull(cacheProjection, "cacheProjection");
this.name = repositoryName;
this.problems = new ThreadSafeProblems();
this.defaultCachePolicy = defaultCachePolicy;
this.cacheProjection = cacheProjection;
List<Projection> projectionList = new ArrayList<Projection>();
for (Projection projection : sourceProjections) {
if (projection == null) continue;