@Override
protected List<GraphElement> getModelChildren() {
List<GraphElement> result = new ArrayList<GraphElement>();
result.addAll(getModel().getChildren(StartState.class));
result.add(new GroupElement(getModel(), State.class, getDesc("task-node")));
result.add(new GroupElement(getModel(), WaitState.class, getDesc("waitState")));
result.add(new GroupElement(getModel(), Fork.class, getDesc("fork")));
result.add(new GroupElement(getModel(), Join.class, getDesc("join")));
result.add(new GroupElement(getModel(), Subprocess.class, getDesc("process-state")));
result.add(new GroupElement(getModel(), Decision.class, getDesc("decision")));
result.add(new GroupElement(getModel(), ActionNode.class, getDesc("node")));
result.add(new GroupElement(getModel(), Variable.class, Messages.getString("default.variable.name")));
result.add(new GroupElement(getModel(), Swimlane.class, Messages.getString("default.swimlane.name")));
result.addAll(getModel().getChildren(EndState.class));
return result;
}