static JPanel smartAddWithLayout(JPanel panel, O layout, L parts) { for (O o : parts) panel.add(wrapForSmartAdd(o), layout); ret panel; } static JPanel smartAddWithLayout(JPanel panel, O layout, O... parts) { ret smartAddWithLayout(panel, layout, asList(flattenArray2(parts))); }