class R { static class O { public O(T t) { } } public static void main(String[] args) { test(new R<>.O()); } private static void test(R.O o) { } }