static <T> void bar(I<T> i, List<T> l){
   bar(x -> {}, l);
   bar(x -> {}, null);
   bar((I<T>)x -> {}, null);
   bar((T x) -> {}, null);
   bar(x -> {}, new ArrayList<T>());
   bar(x -> {}, new ArrayList());
 }
 static {
   bar(x->{}, new ArrayList());
 }