Nicer solution to generic array creation (still problematic in Java 6, but correct in Java 7 if done this way)