arrayish to get the heights
if not given the most frequent value will be used
padding between rows
creates a random context with the given constraints
around ratio percent will get a non uniform height
random seed
computes the visible range
top scrolling
visible height
height of a row by default
exceptions of this default height
the number of rows
the computed visible range
creates a uniform exception context, i.e no exceptions all rows are of the same height
padding between rows
creates a non uniform context based on the given array like heights