/** Returns the transitions that can fire for this user.
*
*/
public Transition[] getExecutableTransitions(User user) {
Situation situation = new SituationImpl(getDocument(), user);
Transition transitions[] = getWorkflow().getLeavingTransitions(getCurrentState());
Set executableTransitions = new HashSet();
for (int i = 0; i < transitions.length; i++) {
if (transitions[i].canFire(situation)) {
executableTransitions.add(transitions[i]);