}
return createElementFromTypeInternal(screen, parent, type, new LayoutPart());
}
private Element createElementFromTypeInternal(final Screen screen, final Element parent, final ElementType type, final LayoutPart layoutPart) {
ElementType elementType = type.copy();
elementType.prepare(this, screen, screen.getRootElement().getElementType());
elementType.connectParentControls(parent);
Element element = elementType.create(parent, this, screen, layoutPart);
if (screen.isBound()) {
screen.layoutLayers();
element.bindControls(screen);
element.initControls();
element.startEffect(EffectEventId.onStartScreen);