@Override public void execute() { if (session == null || me == null || config == null) { myStuffItem.setVisible(false); login.setVisible(true); logout.setVisible(false); signup.setVisible(config.isAllowSignup()); return; } login.setVisible(false); logout.setVisible(true); signup.setVisible(false); myStuffItem.setVisible(true); myStuff.clearItems(); myStuff.addItem( "Edit My Profile", new Command() { @Override public void execute() { VeggieDinner.showUserForm(me.getKey()); } }); if (me.isGroupFinalized()) DeferredCommand.addCommand(populateMyEvents); else { if (me.numGroups() > 0) { DeferredCommand.addCommand(populateMyInvites); } if (config.isAllowGroupFormation()) { myStuff.addItem( "Create Group", new Command() { @Override public void execute() { VeggieDinner.showSelectGroupForm(session.getUser()); } }); } } if (me.getSchedule() != null && me.getSchedule().size() > 0) DeferredCommand.addCommand(populateMySchedule); // TODO anything else that falls under myStuff? }