code: public void initialize(ClientMapInfo mapInfo) {
  		// remove previous members
  		super.removeMembers(getMembers());
  
  		// add new members
  		ClientToolbarInfo toolbarInfo = mapInfo.getToolbar();
  		if (toolbarInfo != null) {
  			for (ClientToolInfo tool : toolbarInfo.getTools()) {
  				String id = tool.getToolId();
  				if (ToolId.TOOL_SEPARATOR.equals(id)) {
  					addToolbarSeparator();
  				} else {
  					ToolbarBaseAction action = ToolbarRegistry.getToolbarAction(id, mapWidget);
  					if (action instanceof ConfigurableAction) {
  						for (Parameter parameter : tool.getParameters()) {
  							((ConfigurableAction) action).configure(parameter.getName(), parameter.getValue());
  						}
  					}
  					String description = tool.getDescription();
  					// Overrides tooltip parameter if description is set in ClientToolInfo.
  					if (null != description && !"".equals(description)) {
  						action.setTooltip(description);
  					}
  					if (action instanceof ToolbarWidget) {
  						super.addMember(((ToolbarWidget) action).getWidget());
  					} else if (action instanceof ToolbarCanvas) {
  						super.addMember(((ToolbarCanvas) action).getCanvas());
  					} else if (action instanceof ToolbarModalAction) {
  						addModalButton((ToolbarModalAction) action);
  					} else if (action instanceof ToolbarAction) {
  						addActionButton((ToolbarAction) action);
  					} else {
  						String msg = "Tool with id " + id + " unknown.";
  						Log.logError(msg); // console log
  						SC.warn(msg); // in your face
  					}
  				}
  			}
  		}
  
  		// add extra members
  		for (Canvas extra : extraCanvasMembers) {
  			super.addMember(extra);
  		}
  	}
docs: Initialize this widget.
  
  @param mapInfo map info