code: public void add(final CheckBox checkBox) {
  
          checkBox.setValue(Boolean.FALSE);
          m_checkboxes.add(checkBox);
          ValueChangeListener listener = new ValueChangeListener() {
  
              private static final long serialVersionUID = 1L;
  
              @SuppressWarnings("synthetic-access")
              public void valueChange(ValueChangeEvent event) {
  
                  if (m_runningEvent) {
                      return;
                  } else {
                      try {
                          m_runningEvent = true;
                          if (((Boolean)event.getProperty().getValue()).booleanValue()) {
                              if ((m_selected != null) && (m_selected != checkBox)) {
                                  m_selected.setValue(Boolean.FALSE);
                              }
                              setActiveCheckBox(checkBox);
                          } else {
                              setActiveCheckBox(null);
                              m_selected = null;
                          }
  
                          // TODO Auto-generated method stub
                      } finally {
                          m_runningEvent = false;
  
                      }
                  }
  
              }
          };
          checkBox.addValueChangeListener(listener);
          m_listeners.put(checkBox, listener);
      }
docs: Adds a check box to the group.<p>
  
  @param checkBox the check box to add