PerPlayerMenuItem extends AbstractMenuItem { @Override public MenuIcon getIcon(IconRequest iconRequest) { return iconRequestConsumer.apply(iconRequest); } PerPlayerMenuItem(Consumer<MenuItemClick> itemClickConsumer, Function<IconRequest, MenuIcon> iconRequestConsumer,
                      Predicate<IconRequest> available); @Override MenuIcon getIcon(IconRequest iconRequest);  }
@Test public void getIcon() { IconRequest request = new IconRequest(player, menuSession); MenuIcon icon = menuItem.getIcon(request); assertEquals(this.icon, icon); }