}
int actionIndex = marker.getAttribute(PluginConstants.ACTION_INDEX_KEY, -1);
if (actionIndex != -1) {
String parentTreePath = marker.getAttribute(PluginConstants.PARENT_NODE_KEY, null);
String[] paths = parentTreePath.split("\\|", -1);
Active active;
if (paths.length == 1) {
active = (Active) findElement(designerEditor.getDefinition(), NamedGraphElement.class, paths[0]);
} else if (paths.length == 2) {
Node node = (Node) findElement(designerEditor.getDefinition(), Node.class, paths[0]);
active = node.getTransitionByName(paths[1]);
} else {
throw new RuntimeException("Invalid tree path: " + parentTreePath);
}
List<? extends Action> activeActions = active.getActions();
graphElement = activeActions.get(actionIndex);
}
if (graphElement != null) {
designerEditor.select(graphElement);