private GraphNodeUi2D createNodeUiImpl(Graph2D graph, Object node) {
if (node instanceof OperationWrapperNode) {
return createOperationNodeUi(graph, (OperationWrapperNode) node);
} else if (node instanceof EmailWrapperNode) {
return new EmailNodeUi2D(graph, (EmailWrapperNode) node);
} else if (node instanceof PipelineActivityNode) {
return createPipelineActivityNodeUi(graph, (PipelineActivityNode) node);
}
throw new RuntimeException("unknown node type: " + node);
}