public List<StateTransition> getStateTransitions() { List<StateTransition> result = new ArrayList<StateTransition>(); for (Map.Entry<String, String> entry : transitioningStatesMap.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); if (key == null) { for (String start : startStates) { result.add(new StateTransition(start, value, stateField, Style.TRANSITIONING)); } } else { result.add(new StateTransition(key, value, stateField, Style.TRANSITIONING)); } } for (Map.Entry<String, String> entry : doneStatesMap.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); if (key == null) { for (String start : transitioningStatesMap.values()) { result.add(new StateTransition(start, value, stateField, Style.DONE)); } } else { result.add(new StateTransition(key, value, stateField, Style.DONE)); } } return result; }