code: public Menu getContextMenu() {
  		if (menu == null) {
  			menu = new Menu();
  			menu.addItem(new AttributesAction(mapWidget));
  			menu.addItem(new MenuItemSeparator());
  			menu.addItem(new UndoOperationAction(mapWidget, this));
  			menu.addItem(new CancelEditingAction(mapWidget, (ParentEditController) parent));
  			menu.addItem(new SaveEditingAction(mapWidget, (ParentEditController) parent));
  			menu.addItem(new ToggleEditModeAction((ParentEditController) parent));
  			menu.addItem(new MenuItemSeparator());
  			menu.addItem(new InsertPointAction(mapWidget));
  			menu.addItem(new RemovePointAction(mapWidget));
  			menu.addItem(new MenuItemSeparator());
  			menu.addItem(new InsertRingAction(mapWidget, (ParentEditController) parent));
  			menu.addItem(new RemoveRingAction(mapWidget));
  			menu.addItem(new MenuItemSeparator());
  			menu.addItem(new ToggleGeometricInfoAction(this));
  			menu.addItem(new ToggleSnappingAction(getFeatureTransaction().getLayer(), this));
  		}
  		return menu;
  	}
docs: -------------------------------------------------------------------------