private void adjustMinPrefForSpanningComps(DimConstraint[] specs,Float[] defPush,FlowSizeSpec fss,ArrayList<LinkedDimGroup>[] groupsLists){
  for (int r=groupsLists.length - 1; r >= 0; r--) {
    ArrayList<LinkedDimGroup> groups=groupsLists[r];
    for (    LinkedDimGroup group : groups) {
      if (group.span == 1)       continue;
      int[] sizes=group.getMinPrefMax();
      for (int s=LayoutUtil.MIN; s <= LayoutUtil.PREF; s++) {
        int cSize=sizes[s];
        if (cSize == LayoutUtil.NOT_SET)         continue;
        int rowSize=0;
        int sIx=(r << 1) + 1;
        int len=Math.min((group.span << 1),fss.sizes.length - sIx) - 1;
        for (int j=sIx; j < sIx + len; j++) {
          int sz=fss.sizes[j][s];
          if (sz != LayoutUtil.NOT_SET)           rowSize+=sz;
        }
        if (rowSize < cSize && len > 0) {
          for (int eagerness=0, newRowSize=0; eagerness < 4 && newRowSize < cSize; eagerness++)           newRowSize=fss.expandSizes(specs,defPush,cSize,sIx,len,s,eagerness);
        }
      }
    }
  }
}

private void adjustMinPrefForSpanningComps ( DimConstraint [ ] specs , Float [ ] defPush , FlowSizeSpec fss , ArrayList < LinkedDimGroup > [ ] groupsLists ) { for ( int r = groupsLists . length - 1 ; r >= 0 ; r -- ) { ArrayList < LinkedDimGroup > groups = groupsLists [ r ] ; for ( LinkedDimGroup group : groups ) { if ( group . span == 1 ) continue ; int [ ] sizes = group . getMinPrefMax ( ) ; for ( int s = LayoutUtil . MIN ; s <= LayoutUtil . PREF ; s ++ ) { int cSize = sizes [ s ] ; if ( cSize == LayoutUtil . NOT_SET ) continue ; int rowSize = 0 ; int sIx = ( r << 1 ) + 1 ; int len = Math . min ( ( group . span << 1 ) , fss . sizes . length - sIx ) - 1 ; for ( int j = sIx ; j < sIx + len ; j ++ ) { int sz = fss . sizes [ j ] [ s ] ; if ( sz != LayoutUtil . NOT_SET ) rowSize += sz ; } if ( rowSize < cSize && len > 0 ) { for ( int eagerness = 0 , newRowSize = 0 ; eagerness < 4 && newRowSize < cSize ; eagerness ++ ) newRowSize = fss . expandSizes ( specs , defPush , cSize , sIx , len , s , eagerness ) ; } } } } }
adjust min / pref size for columns ( or rows ) that has components that spans multiple columns ( or rows ) .
