public static function uasort(array &$array, callable $value_compare_func): void
    {
        self::decorateOriginalArray($array);
        uasort($array, function ($a, $b) use ($value_compare_func) {
            $result = call_user_func($value_compare_func, $a[1], $b[1]);
            if ($result == 0)
                return $a[0] - $b[0];
            return $result;
        });
        self::undecorateSortedArray($array);
    }