Steps to reproduce:
1. Endpoint /admin-ng/resources/ROLES.json?limit=20&offset=0
calls RolesListProvider which calls RoleDirectoryService
You get back 8 roles.
You get back the number of roles specified by limit.
The source of this problem is that multiple RoleProviders were returning the same roles, so the set of roles is larger than expected. The limit/offset is applied to the larger set, but this is then reduced when the roles are added to a map on role name.