code: @Override
      protected void onLoad() {
  
          /* defer until children have been (hopefully) layouted. */
          Scheduler.get().scheduleDeferred(new Scheduler.ScheduledCommand() {
  
              /**
               * @see com.google.gwt.user.client.Command#execute()
               */
              public void execute() {
  
                  updateLayout();
                  // layout update has finished, now it's OK to show the widget
                  getElement().getStyle().setVisibility(Visibility.VISIBLE);
              }
          });
      }
docs: Automatically calls the updateLayout method after insertion into the DOM.<p>
  
  @see com.google.gwt.user.client.ui.Widget#onLoad()