@SafeVarargs must be a java 7ism