how to open a new form

Hi,
I’m a new to Vaadin.
I have a button, when click, it will open a new form. See piece of code below.
Does it efficient to open a new form with call removeAllComponents() then add a new component ?

Thanks

@Override
public void init() {
    buildMainLayout();
}

private void buildMainLayout() {
    setMainWindow(new Window("application"));
    AbsoluteLayout abs = new AbsoluteLayout();
	abs.addComponent(createToolbar());
    getMainWindow().setContent(abs);
}

private HorizontalLayout createToolbar() {
    HorizontalLayout lo = new HorizontalLayout();
    Button buttonOpen = new Button();
    
    buttonOpen.setCaption("Open");
    buttonOpen.addListener(new Button.ClickListener() {
        @Override
        public void buttonClick(ClickEvent event) {
            HelloCustomComponent h = new HelloCustomComponent();
            getMainWindow().getContent().removeAllComponents();
            getMainWindow().getContent().addComponent(h);
        }
    });
    
    lo.addComponent(buttonOpen);
    return lo;
}

You just want a button or your page, and when the button is clicked, it should be removed and a HelloCustomComponent should be added? Then yes, it seems fine. You could also do lo.removeComponent(buttonOpen); if you mark lo to final. The performance difference is however neglectable.