code: protected void initWidget(Widget widget) {
  
          // Validate. Make sure the widget is not being set twice.
          if (m_widget != null) {
              throw new IllegalStateException("Composite.initWidget() may only be " + "called once.");
          }
  
          // Use the contained widget's element as the composite's element,
          // effectively merging them within the DOM.
          setElement((Element)widget.getElement());
  
          adopt(widget);
  
          // Logical attach.
          m_widget = widget;
      }
docs: Sets the widget to be wrapped by the composite. The wrapped widget must be
  set before calling any {@link Widget} methods on this object, or adding it
  to a panel. This method may only be called once for a given composite.
  
  @param widget the widget to be wrapped