public void createGoodsMenu(final GoodsLabel goodsLabel) {
        final Goods goods = goodsLabel.getGoods();
        final InGameController inGameController = freeColClient.getInGameController();
        ImageLibrary imageLibrary = parentPanel.getLibrary();
        this.setLabel("Cargo");
        JMenuItem name = new JMenuItem(Messages.message(goods.getNameKey()) + " (" +
                                       Messages.message("menuBar.colopedia") + ")",
                                       imageLibrary.getScaledGoodsImageIcon(goods.getType(), 0.66f));
        name.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    gui.showColopediaPanel(goods.getType().getId());
                }
            });
        this.add(name);

        if (!(goods.getLocation() instanceof Colony)) {
            if (freeColClient.getMyPlayer().canTrade(goods)) {
                JMenuItem unload = new JMenuItem(Messages.message("unload"));
                unload.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent e) {
                            inGameController.unloadCargo(goods, false);
                            if (parentPanel instanceof CargoPanel) {
                                CargoPanel cargoPanel = (CargoPanel) parentPanel;
                                cargoPanel.initialize();
                                /*
                                  if (cargoPanel.getParentPanel() instanceof ColonyPanel) {
                                  ((ColonyPanel) cargoPanel.getParentPanel()).updateWarehouse();
                                  }
                                */
                            }
                            parentPanel.revalidate();
                        }
                    });
                this.add(unload);
            } else {
                if (goods.getLocation() instanceof Unit
                    && ((Unit)goods.getLocation()).isInEurope()) {
                    JMenuItem pay = new JMenuItem(Messages.message("boycottedGoods.payArrears"));
                    pay.addActionListener(new ActionListener() {
                            public void actionPerformed(ActionEvent e) {
                                inGameController.payArrears(goods.getType());
                                if (parentPanel instanceof CargoPanel) {
                                    CargoPanel cargoPanel = (CargoPanel) parentPanel;
                                    cargoPanel.initialize();
                                }
                                parentPanel.revalidate();
                            }
                        });
                    this.add(pay);
                }
            }
            JMenuItem dump = new JMenuItem(Messages.message("dumpCargo"));
            dump.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    inGameController.unloadCargo(goods, true);
                    if (parentPanel instanceof CargoPanel) {
                        ((CargoPanel) parentPanel).initialize();
                    }
                    parentPanel.revalidate();
                }
            });
            this.add(dump);
        }
    }