I am building a custom UI for workflow assignment, and would like to be able to get a list of all users who can see my item in workflow so that I can reassign tasks to them (I don't want to assign a workflow task to a user who can't access the item like the CME does).
I am struggling to find a Core Service method which will allow me to do this. At the moment my only approach is to get a list of all users in the system, and then impersonate them one at a time to see if they can read the object. This seems like a terrible (and very slow) approach, and won't work for groups. Can someone suggest a better way to tackle this problem?