LayoutCodeGenerator (final LwContainer container) { LayoutCodeGenerator generator = myComponentLayoutCodeGenerators.get(container.getClass()); if (generator != null) { return generator; } LwContainer parent = container; while(parent != null) { final String layoutManager = parent.getLayoutManager(); if (layoutManager != null && !layoutManager.isEmpty()) { if (layoutManager.equals(UIFormXmlConstants.LAYOUT_FORM) && !myContainerLayoutCodeGenerators.containsKey(UIFormXmlConstants.LAYOUT_FORM)) { myContainerLayoutCodeGenerators.put(UIFormXmlConstants.LAYOUT_FORM, new FormLayoutCodeGenerator()); } generator = myContainerLayoutCodeGenerators.get(layoutManager); if (generator != null) { return generator; } } parent = parent.getParent(); } return GridLayoutCodeGenerator.INSTANCE; }