public function usort($cmp_function)
    {
        $tmp = $this->getArrayCopy();
        $ret = usort($tmp, $cmp_function);

        $tmp = new self($tmp);
        $this->exchangeArray($tmp->getArrayCopy());

        return $ret;
    }