private static void updateSizesFromChild(final DimensionInfo info,
                                           final boolean min,
                                           final int[] widths,
                                           final Container container,
                                           final int childIndex) {
    GridLayoutManager childLayout = (GridLayoutManager) container.getLayout();
    if (info.getSpan(childIndex) == info.getChildLayoutCellCount(childLayout)) {
      childLayout.validateInfos(container);
      DimensionInfo childInfo = (info instanceof HorizontalInfo)
                                ? childLayout.myHorizontalInfo
                                : childLayout.myVerticalInfo;
      int[] sizes = childLayout.getMinOrPrefSizes(childInfo, min);
      int cell = info.getCell(childIndex);
      for(int j=0; j<sizes.length; j++) {
        widths [cell+j] = Math.max(widths [cell+j], sizes [j]);
      }
    }
  }
private static void updateSizesFromChild(final DimensionInfo info,
                                           final boolean min,
                                           final int[] widths,
                                           final Container container,
                                           final int childIndex)