Consider a case where there are 3 nulls in  middle and rest of the elements are same.  And another array with 5 nulls in the middle.  Now the one with 3 nulls is the lowest.  
But my point is in the case where the nullCount % 256 (say nullcount is 234) now the nullbytecount is 22.  And another array with exactly 22 middle elements .  How do we differentiate which one is bigger? Here the comparison will make the one with 234 nulls as small based on the offset arrays byte comparsion because the val part is going to be the same.