Подскажите, зачем мы тут копируем и сортируем массив, если метод binarySearch() в любом случае сперва сортирует массив?