int (Component root, int index) { if (root instanceof Splitter) { if (proportions.size() <= index) return index; ((Splitter)root).setProportion(proportions.get(index++).floatValue()); } if (root instanceof Container) { Component[] children = ((Container)root).getComponents(); for (Component child : children) { index = restoreSplitterProportions(child, index); } } return index; }