question: void checkMultiColumnCell ( int axis , int col , int ncols , View v ) { long min = 0 ; long pref = 0 ; long max = 0 ; for ( int i = 0 ; i < ncols ; i ++ ) { SizeRequirements req = columnRequirements [ col + i ] ; min += req . minimum ; pref += req . preferred ; max += req . maximum ; } int cmin = ( int ) v . getMinimumSpan ( axis ) ; if ( cmin > min ) { SizeRequirements [ ] reqs = new SizeRequirements [ ncols ] ; for ( int i = 0 ; i < ncols ; i ++ ) { SizeRequirements r = reqs [ i ] = columnRequirements [ col + i ] ; r . maximum = Math . max ( r . maximum , ( int ) v . getMaximumSpan ( axis ) ) ; } int [ ] spans = new int [ ncols ] ; int [ ] offsets = new int [ ncols ] ; SizeRequirements . calculateTiledPositions ( cmin , null , reqs , offsets , spans ) ; for ( int i = 0 ; i < ncols ; i ++ ) { SizeRequirements req = reqs [ i ] ; req . minimum = Math . max ( spans [ i ] , req . minimum ) ; req . preferred = Math . max ( req . minimum , req . preferred ) ; req . maximum = Math . max ( req . preferred , req . maximum ) ; } } int cpref = ( int ) v . getPreferredSpan ( axis ) ; if ( cpref > pref ) { SizeRequirements [ ] reqs = new SizeRequirements [ ncols ] ; for ( int i = 0 ; i < ncols ; i ++ ) { SizeRequirements r = reqs [ i ] = columnRequirements [ col + i ] ; } int [ ] spans = new int [ ncols ] ; int [ ] offsets = new int [ ncols ] ; SizeRequirements . calculateTiledPositions ( cpref , null , reqs , offsets , spans ) ; for ( int i = 0 ; i < ncols ; i ++ ) { SizeRequirements req = reqs [ i ] ; req . preferred = Math . max ( spans [ i ] , req . preferred ) ; req . maximum = Math . max ( req . preferred , req . maximum ) ; } } }
target:  check the requirements of a table cell that spans multiple columns.