public override void Run() { if (EdgeKey == null) { // the root level of a schema is fetched from credential files var staticRow = SchemaLoader.ParseCredentials <JObject>(Schema.Name); FetchDetailsOfRow(Schema, staticRow); } else { // non root level are fetched from the API var table = Schema.Edges[EdgeKey]; var tableRows = Fetcher.FetchAllEntitiesOnTable(table, Logger, Configuration.MaxEntities).AsParallel().WithDegreeOfParallelism(Schema.Threads); tableRows.ForAll(row => FetchDetailsOfRow(table, row)); } }