Fixed null condition to ensure that null values get pushed back in the array.
replacing full array sort with a range sort
unit tests ensure broken comparators don't put null to the start of the set and than an empty set is never sorted
renamed variable 'minimum' and added explanation as to why it is used.
updated sort to also sort multiplier values - bug:1291