inline createXxx() functions since jdk1.7 can infer type parameters