@SafeVarargs
Is a cure for the warning: [unchecked] Possible heap pollution from parameterized vararg type Foo.
Is part of the method's contract, hence why the annotation has runtime retention.
Is a promise to the caller of the method that the method will not mess up the heap using the generic varargs argument.
S. Pyysalo, F. Ginter, K. Haverinen, J. Heimonen, T. Salakoski, и V. Laippala. Proceedings of the Workshop on BioNLP 2007: Biological, Translational, and Clinical Language Processing, стр. 25--32. Stroudsburg, PA, USA, Association for Computational Linguistics, (2007)