what is the purpose of `<? extends Object[]>` ?