class Generate extends CallableSystemAction {

    @Override
    public void performAction() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public String getName() {
        return "generate";
    }

    @Override
    public HelpCtx getHelpCtx() {
        return null;
    }

    @Override
    public JMenuItem getMenuPresenter() {<FILL_FUNCTION_BODY>}
}

        JMenu menu = new JMenu(NbBundle.getMessage(Generate.class, "CTL_Generate"));

        final GeneratorController generatorController = Lookup.getDefault().lookup(GeneratorController.class);
        if (generatorController != null) {
            for (final Generator gen : generatorController.getGenerators()) {
                String menuName = gen.getName() + "...";
                JMenuItem menuItem = new JMenuItem(new AbstractAction(menuName) {

                    @Override
                    public void actionPerformed(ActionEvent e) {
                        generatorController.generate(gen);
                    }
                });
                menu.add(menuItem);
            }
        }
        return menu;
    
<no_super_class>