code: private void _doLogicalClear() {
  	    // Only use one orphan command per panel to avoid object creation.
  	    if (orphanCommand == null) {
  	        orphanCommand = new AttachDetachException.Command() {
      	        @Override
                  public void execute(Widget w) {
      	            orphan(w);
      	        }
      	    };
  	    }
  	    try {
  	        AttachDetachException.tryCommand(this, orphanCommand);
  	    } finally {
  	        children = new WidgetCollection(this);
  	    }
  	}
docs: ComplexPanel.doLogicalClear() is not available, that's why we need this stupid copy