Roleinstance for the passed role name, parent role and permission names. Providing means to either validate and return a fitting instance or create a new one. See
RoleUpdaterfor setting the actual role and permission values.
role- a potentially already existing
Roleinstance for the passed name or null.
name- the name identifiying the role.
parentRoles- the names of the role's parent roles for validation purposes.
permissions- the names of the role's explicit permissions for validation purposes.
Roleinstance suitable for the specified values, either already existing or newly created.