Current implementation of RoleMap does not have logic to abort or break the flow after a particular role, if there were such feature, running time can be reduced in a number of cases. Further every time RoleWalker is called, it invokes walk() which creates a new collection of roles every time, it can be avoided.
|Field||Original Value||New Value|
|Status||Open [ 1 ]||In Progress [ 3 ]|
|Status||In Progress [ 3 ]||In Review [ 10005 ]|
|Status||In Review [ 10005 ]||Resolved [ 5 ]|
|Resolution||Fixed [ 1 ]|