@Nullable
    private INavigatorNodeActionHandler getActionButton(@NotNull DBNNode node, @NotNull Tree tree, @NotNull Event event) {
        if (!DBWorkbench.getPlatform().getPreferenceStore().getBoolean(NavigatorPreferences.NAVIGATOR_SHOW_NODE_ACTIONS)) {
            return null;
        }

        var actions = NavigatorExtensionsRegistry.getInstance().getNodeActions(getView(), node);
        if (actions.isEmpty()) {
            return null;
        }

        var item = tree.getItem(new Point(event.x, event.y));
        if (item == null) {
            return null;
        }

        Rectangle bounds = item.getBounds();
        Rectangle client = getClientArea(tree);
        client.y = bounds.y;
        client.height = bounds.height;

        for (int i = actions.size() - 1; i >= 0; i--) {
            INavigatorNodeActionHandler action = actions.get(i);
            Image image = DBeaverIcons.getImage(action.getNodeActionIcon(getView(), node));
            Rectangle size = image.getBounds();

            if (client.width < size.width || event.y < client.y || event.y >= client.y + client.height) {
                return null;
            }

            if (event.x >= client.x + client.width - size.width && event.x < client.x + client.width) {
                return action;
            }

            client.width -= size.width + ELEMENT_MARGIN;
        }

        return null;
    }
Statistics node renderer.
Draws connection type marker next to the item name.
Draws item statistics in the right part.
plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/navigator/database/StatisticsNavigatorNodeRenderer.java