@@ -0,0 +1,768 @@
+package com.uchuhimo.dispatch;%0A%0Apublic class ErasureTypeForStaticDispatch %7B%0A  public interface Trait %7B%0A%0A  %7D%0A%0A  public static class A implements Trait %7B%0A%0A  %7D%0A%0A  public static class B implements Trait %7B%0A%0A  %7D%0A%0A  public static void overload(A a) %7B%0A    System.out.println(%22a%22);%0A  %7D%0A%0A  public static void overload(B b) %7B%0A    System.out.println(%22b%22);%0A  %7D%0A%0A  public static void overload(Trait trait) %7B%0A    System.out.println(%22trait%22);%0A  %7D%0A%0A  public static void erasureTypeFunc(Trait trait) %7B%0A    overload(trait);%0A  %7D%0A%0A  public static %3CT extends Trait%3E void erasureTypeGenericFunc(T trait) %7B%0A    overload(trait);%0A  %7D%0A%0A  public static void main(String%5B%5D args) %7B%0A    A a = new A();%0A    B b = new B();%0A    overload(a);%0A    erasureTypeFunc(a);%0A    erasureTypeGenericFunc(b);%0A  %7D%0A%7D%0A

add ErasureTypeForStaticDispatch test