fills objects with related data. DB agnostic. One DB query per source, all queries running parallel. No loops inside, stream based.