private GitreeWorkspace(ProjectConfigurationInfo info) { Serializer = JsonUtilities.CreateSerializer(); Info = info; // TOD validate configuration, handle not-found paths var documentFindingVisitor = new GitreeRootFindingVisitor(info, this); Datafiles = info.Configuration.SourceDirectories .SelectMany(documentFindingVisitor.GetRootDocuments) .Select(x => (IDatafileInfo) new GitreeDatafileInfo(x)) .ToImmutableArray(); }