Technically speaking, this isn't mandatory because an ArrayContentProvider actually takes both an array and a java.util.Collection. If you look at the implementation, we will call toArray() for you. So really, it is up to you if you want to call toArray() now or later, I just thought I would point it out for your information (about how ArrayContentProvider works).