Скажем, у нас есть два метода:
public static <T> T genericReturn() { /*...*/ }
public static String stringReturn() { /*...*/ }
При вызове любого метода вы можете предоставить свидетеля типа независимо от наличия или отсутствия каких-либо требований:
String s;
s = Internet.<String>genericReturn(); //Type witness used in return type, returns a String
s = Internet.<Integer>stringReturn(); //Type witness ignored, returns a String
Однако я не вижу реалистичного использования этого в Java вообще, если тип не может быть выведен (что обычно указывает на большую проблему). Кроме того, тот факт, что он просто игнорируется, когда он не используется должным образом, кажется противоречивым. Так какой смысл иметь это в Java вообще?