Can you confirm it does not work (properly)?
And what is the exact usecase? Just the fact that there is something for tasks does not automatically mean there should be something for other nodes as well. Maybe modelling your process differently (on a technical level, not functional one) solves it to...
E.g. returning a value from an external system and having conditions on the transitions or just one transition and a decision can help instead of having an external system have knowledge of which transitions there are and signalling with an explicit transition..
This code should give you the out going transitions.I am not sure what have you tried which did not work, but this one works for me. Till you have 4.4 released you can use this.
//processInstance is the relevant Process instance and stateName is the name of the wait state
ExecutionImpl activeExecution = (ExecutionImpl)processInstance.findActiveExecutionIn(stateName);
List<Transition> outgoingTransitionList = activeExecution.getActivity().getOutgoingTransitions();