@SuppressWarnings("unchecked")
    public static void main(String[] args) {

        int len = 10;
        List<Holder<Integer>> lst = new ArrayList<Holder<Integer>>(len);
        System.out.println("List size: " + lst.size());

        Random rand = new Random();
        int num;
        System.out.print("Adding:");

        for (int i = 0; i < len; ++i) {

            num = rand.nextInt(5) + 1;
            System.out.print(" " + num);

            lst.add(new Holder<Integer>(num));
        }

        System.out.println();
        System.out.println("The list: " + lst); // c

        java.util.Collections.sort(lst);
        System.out.println("The list: " + lst); // d

        java.util.Collections.sort(lst, Collections.reverseOrder());
        System.out.println("The list: " + lst); // e

//        Holder<Integer>[] arr = (Holder<Integer>[]) new Object[len];
        Holder<?>[] arr = new Holder<?>[len];
        for (int i = 0; i < len; ++i) {
            arr[i] = new Holder<Integer>(rand.nextInt(100));
        }
//        List<Holder<Integer>> arrList = Arrays.asList(arr);
        List<Holder<?>> arrList = Arrays.asList(arr);
        System.out.println(arrList);
    }