issue #5183, refator LayoutExecutant