public Composite<P> setChildren(View<?>... children) {
        for (View<?> child : this.children) {
            child.setParent(null);
        }
        this.children.clear();
        for (View<?> child : children) {
            this.children.add(child);
            child.setParent(this);
        }

        P ownPresentation = getPresentation();
        if (ownPresentation != null) {
            ownPresentation.removeAllComponents();
            for (View<?> child : children) {
                Component childPresentation = child.getPresentation();
                if (childPresentation != null) {
                    ownPresentation.addComponent(childPresentation);
                }
            }
        }

        return this;
    }