Should be a constructor, as a static method doesn't contribute anything special (as is sometimes the case with generics, especially pre-JDK7) and a constructor wouldn't have to create and discard the array event.