int y = 0;
final View subviews[] = view.getSubviews();
int maxWidth = 0;
for (final View v : subviews) {
final Size s = v.getRequiredSize(new Size(maximumSize));
maxWidth = Math.max(maxWidth, s.getWidth());
}
for (final View v : subviews) {
final Size s = v.getRequiredSize(new Size(maximumSize));
s.limitWidth(maximumSize.getWidth());
if (fixedWidth || v.getSpecification().isAligned()) {
s.ensureWidth(maxWidth);
}
v.setSize(s);
v.setLocation(new Location(x, y));
y += s.getHeight();
}
}