Image

Как правильно готовить @SafeVarargs?

Имеется javac 1.7.0_03 и следующий код:

import java.util.Arrays;
import java.util.List;
 
public class Test {
 
  static <T> List<T> asList(T... objects) {
    return Arrays.asList(objects);
  }
}


Компилирую c -Xlint:all, получаю:
[unchecked] Possible heap pollution from parameterized vararg type T
where T is a type-variable:
T extends Object declared in method asList(T...)


Вешаю на свой метод @SafeVarargs, получаю:
[varargs] Varargs method could cause heap pollution from non-reifiable varargs parameter objects

Вопрос. Что я делаю не так и как правильно пользоваться @SafeVarargs? По моим представлениям добавление её на этом методе должно было убрать предупреждения о heap pollution'е.