Los roles de @SuppressWarnings y @SafeVarargs suprimen advertencias . Ambos son similares por eso.
Creo que RetentionPolicy.SOURCE es suficiente para @SafeVarargs como @SuppressWarnings . ¿Tiene una razón?
En java.lang
@Retention(RetentionPolicy.SOURCE) public @interface SuppressWarnings { @Retention(RetentionPolicy.RUNTIME) public @interface SafeVarargs {