My last changes with requestPerItem introduced a mechanism to populate based on conditions but there's another step to take.
Explanation: I've a service called changelogs with entries to almost every service with columns: associatedServicePath, associatedId, userId.
If I want to populate the associated Item, I need to take the associatedServicePath. The most elegant way would be to have:
associatedItem: {
service: (item, context) => item.associatedServicePath,
nameAs: associatedItem, // or even `nameAs: (item, context) => singularize(item.associatedServicePath)`
asArray: false
},